Java 在Hashmap的Hashmap中查找最大值

Java 在Hashmap的Hashmap中查找最大值,java,hashmap,hashtable,Java,Hashmap,Hashtable,所以我对Java还是比较陌生的,这个问题可能很琐碎,但我很难找到答案 我试图在我创建的hashmap中找到最大值。我初始化了hashmap并填充了它,但结构如下: HashMap<Double,HashMap<Double,Double>> HashMap 任何帮助都会很棒 谢谢 编辑:为了澄清起见,我想知道哈希表中最大条目的值,因此您有一个充满嵌套映射的根映射。 您将迭代根映射中的所有值-获取嵌套映射。然后迭代每个嵌套映射上的每个值 Compexity将是O(n),

所以我对Java还是比较陌生的,这个问题可能很琐碎,但我很难找到答案

我试图在我创建的hashmap中找到最大值。我初始化了hashmap并填充了它,但结构如下:

HashMap<Double,HashMap<Double,Double>>
HashMap
任何帮助都会很棒

谢谢


编辑:为了澄清起见,我想知道哈希表中最大条目的值,因此您有一个充满嵌套映射的根映射。 您将迭代根映射中的所有值-获取嵌套映射。然后迭代每个嵌套映射上的每个值

Compexity将是O(n),其中n-所有嵌套映射中的所有键数加上根映射中的键数

我认为如果使用HashMaps,您无法更快地找到最大值

代码如下所示:

final HashMap<Double, HashMap<Double, Double>> data = new HashMap<Double, HashMap<Double, Double>>();

Double prev = null;
for (final HashMap<Double, Double> nestedMap : data.values()) {
    for (final Double value : nestedMap.values()) {
        if (prev == null) {
            prev = value;
            continue;
        }
        prev = Math.max(value, prev);
    }
}

System.out.println("The max value is " + prev);
final HashMap data=new HashMap();
Double-prev=null;
for(最终HashMap nestedMap:data.values()){
for(最终双精度值:nestedMap.values()){
if(prev==null){
prev=值;
继续;
}
prev=数学最大值(值,prev);
}
}
System.out.println(“最大值为”+prev);

最大键或值?答案取决于您想要哪一个……您的意思是:将所有第一级键、第二级键和值视为一组
double
值,找出最大值吗?或者,这是其他原因吗?请显示您到目前为止拥有的所有代码,以及您遇到的任何问题—错误的输出、编译器消息和异常堆栈跟踪。请明确您的意思……我觉得有义务补充一点,通常当您有嵌套映射时,这是您应该拥有另一个类的标志。然后,这些事情也可以很容易地通过静态场来实现。