我正在尝试打印一个包含字符A作为键和值为另一个哈希映射(其中包含Integer和Double)的哈希映射。我已经有了下面的代码,但它没有起作用。
HashMap<Character, Map<Integer, Double>> MapInsideOfAMap = calc.MapInAMap(abc);
for (Entry<Character, Map<Integer, Double>> outer : MapInsideOfAMap.entrySet()) {
System.out.println("Char: " + outer.getKey() + "\n");
for (Map.Entry<Character, Map<Integer, Double> inner : MapInsideOfAMap.getValue().entrySet()) {
System.out.println("int = " + inner.getKey() + ", double = " + inner.getValue());
}
}
MapInsideOfAMap
,为什么在外层循环中有Entry<Character, Map<Integer, Double>>
(Double),而在内层循环中有Map.Entry<Integer, Integer>
(Integer)? - BetlistagetValue()
的映射方法。将其更改为get(outer.getKey())
。此外,您突然从<Integer,Double>
切换到<Integer,Integer>
。您需要保持一致。 - user6073886