java - 打印出 hashmap 内部的 hashmap

标签 java collections hashmap

我正在尝试打印出一个 HashMap ,其中包含一个字符作为键,并将值作为另一个具有 Integer 和 Double 的 HashMap 到目前为止我有这个但没有用。

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());
        }
    }

最佳答案

你的代码应该是这样的,

for (Entry<Character, Map<Integer, Double>> outer : MapInsideOfAMap.entrySet()) {
        System.out.println("Char: " + outer.getKey() + "\n");
        for (Entry<Integer, Double> inner : MapInsideOfAMap.get(outer.getKey()).entrySet()) {
            System.out.println("int = " + inner.getKey() + ", double = " + inner.getValue());
        }
    }

好的,我明白你想做什么了, 既然已经有了Outer map entry,就不用再用outer map reference了,直接这样就可以了,

for (Entry<Character, Map<Integer, Double>> outer : MapInsideOfAMap.entrySet()) {
        System.out.println("Char: " + outer.getKey() + "\n");

        for (Entry<Integer, Double> inner : outer.getValue().entrySet()) {
            System.out.println("int = " + inner.getKey() + ", double = " + inner.getValue());
        }
    }

关于java - 打印出 hashmap 内部的 hashmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48643076/

相关文章:

java - 如何正确执行按位运算

java - 在 Java 中存储不同类型对象的有序列表的最佳方法?

java : Error while create object in collection API

Java,将键盘输入值与file.txt值进行比较

c# - 在以对象为值的 C# 哈希表中,如何返回对象值

java - HashMap,其中键的顺序很重要

java - Java 中的 For-each 循环

java - 为什么我的 Spring Data JPA 查询比 Node.JS + oracledb 慢 8 倍?

java - 在 For 循环中等待 Bukkit 任务完成

Java : The Map value comparison is failing to compare with the higher values. 为什么?