如何迭代包含地图的复杂地图列表

时间:2015-07-21 13:00:45

标签: java list collections iterator

我在解决如何迭代这个结构时遇到了问题。

ArrayList<HashMap<String, HashMap<String, String>>> list

你能帮我解决一下如何走完整个结构吗?

这是我到目前为止所要做的,但下一步该怎么做?我需要一直到最深的数据。

for (HashMap<String, String> map : data)
     for (Entry<String, String> entry : map.entrySet())

1 个答案:

答案 0 :(得分:3)

这个怎么样?

    ArrayList<HashMap<String, HashMap<String, String>>> list = new ArrayList<>();

    for (HashMap<String, HashMap<String, String>> m : list) {
        for (Map.Entry<String, HashMap<String, String>> e : m.entrySet()) {
            String key1 = e.getKey();
            for (Map.Entry<String, String> me : e.getValue().entrySet()) {
                String key2 = me.getKey();
                String value = me.getValue();
            }
        }
    }

请注意,您确实应该使用对象的界面形式:

    List<Map<String, Map<String, String>>> list = new ArrayList<>();

    for (Map<String, Map<String, String>> m : list) {
        // All Maps.
        for (Map.Entry<String, Map<String, String>> e : m.entrySet()) {
            // Outer key.
            String key1 = e.getKey();
            for (Map.Entry<String, String> me : e.getValue().entrySet()) {
                // Inner key.
                String key2 = me.getKey();
                // The String value.
                String value = me.getValue();
            }
        }
    }
相关问题