循环遍历包含String和另一个地图的地图

时间:2015-04-09 17:43:33

标签: java dictionary foreach hashmap

我声明我的地图是这样的:

Map<Integer, Map<Integer, Integer>> junctions = new HashMap<>();

并填写数据:

for (int i = 0; i < N; i++) {
            String[] coordinates = s.nextLine().split(" ");
            junctions.put(i, new HashMap<Integer, Integer>());
            junctions.get(i).put(Integer.parseInt(coordinates[0]), Integer.parseInt(coordinates[1]));
        } 

但是我无法将其打印出来,或者使用它的内容。

我试过这样的话:

for (Map<Integer, Map<Integer, Integer>> m : junctions.entrySet()) {
            System.out.println(m.getKey() + "/" + m.getValue());
        }

我还尝试使用junctions.values()代替junctions.entrySet()

我需要做什么?

1 个答案:

答案 0 :(得分:2)

应该是

for (Map.Entry<Integer, Map<Integer, Integer>> e : junctions.entrySet()) {
    System.out.println(e.getKey() + "/" + e.getValue());
}

for (Map<Integer, Integer> m : junctions.values()) {
    System.out.println(m);
}

取决于您要打印的内容。