我在解决如何迭代这个结构时遇到了问题。
ArrayList<HashMap<String, HashMap<String, String>>> list
你能帮我解决一下如何走完整个结构吗?
这是我到目前为止所要做的,但下一步该怎么做?我需要一直到最深的数据。
for (HashMap<String, String> map : data)
for (Entry<String, String> entry : map.entrySet())
答案 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();
}
}
}