我想遍歷散列表列表的散列圖。Java - 如何遍歷散列表列表的散列圖
例如,
HashMap <String, List <HashMap<String, String> > >
如何遍歷這個地圖。
請幫我找到解決辦法。
我想遍歷散列表列表的散列圖。Java - 如何遍歷散列表列表的散列圖
例如,
HashMap <String, List <HashMap<String, String> > >
如何遍歷這個地圖。
請幫我找到解決辦法。
您應該仔細查看一下您的設計,這聽起來像是可以用更簡單的方式構建的東西。考慮將這個集合分解成類。 但是,如果你現在不能改變它(或沒有時間),我會提供一個手。
最簡單的方法可能是向上突破迭代在幾個步驟:在列表
以下是基本代碼:
for(List<HashMap<String, String>> list : outer.values()) {
for(HashMap<String, String> map : list) {
for(String value : map.values()) {
//Do something
}
}
}
讓我們爲您的地圖命名。
HashMap<String, List<HashMap<String, String>>> map; //I'll assume it is initialized and filled with something.
for (String key : map.keySet()) {
for (HashMap<String, String> map2 : map.get(key)) {
for (String key2 : map2.keySet()) {
//do something
}
}
}
另一種方法是通過集合使用嵌套循環:
for (List<HashMap<String, String>> list : map.values()) {
for (HashMap<String, String> map2 : list) {
for (String veryInnerValue : map2.values()) {
//do something
}
}
}
的不同位。如果你不需要知道價值的關鍵,那麼第二個更好。
如果您需要知道每個地圖鍵和值:
Map<String, List<HashMap<String, String>>> myMap = new HashMap<String, List<HashMap<String, String>>>();
// loop for first map
for (Entry<String, List<HashMap<String, String>>> myMapEntry : myMap.entrySet()) {
System.out.println("myMap entry key" + myMapEntry.getKey() + ", key ");
// loop for list (value of entry)
for (HashMap<String, String> valueOfList : myMapEntry.getValue()) {
// loop for second map
for (Entry<String, String> entryOfMapOfList : valueOfList.entrySet()) {
System.out.println("key " + entryOfMapOfList.getKey() + " value " + entryOfMapOfList.getValue());
}
}
}
寫一些Java代碼。 –
迭代嵌套結構=嵌套循環 – 4castle
不要。如果你有這樣的數據結構,你有設計問題。 – Raedwald