0

私はこのようなハッシュマップを持っていますHashMap<String, ArrayList<HashMap<String, Integer>>>。ハッシュマップでアリヤリストを反復しようとしていますか?

これは私が試したことです:

for (Entry<String, ArrayList<HashMap<String, Integer>>> entry : testStats.entrySet()) {
            String key = entry.getKey();
            ArrayList<HashMap<String, Integer>> value = entry.getValue();
            for(HashMap<String, Integer> aString : value){
                System.out.println("key : " + key + " value : " + aString);
            }
        }

しかし、それでも最近の値しか表示されません。

どこが間違っていますか?

4

1 に答える 1

2

深さレベルが欠落しており、データ構造と混同しているようです:

for (Entry<String, ArrayList<HashMap<String, Integer>>> entry : testStats.entrySet()) {
            String key = entry.getKey();
            ArrayList<HashMap<String, Integer>> list = entry.getValue();
            for(HashMap<String, Integer> map : list){
                   for(Entry<String, Integer> entryInner : map.entrySet){
                        System.out.println("key : " + entryInner.getKey() + " value : " + entryInner.getValue());
                   }
            }
}
于 2013-02-08T11:56:50.817 に答える