2013-02-08 85 views
0

我有這樣的散列圖HashMap<String, ArrayList<HashMap<String, Integer>>>我想迭代散列表中的arryalist?如何迭代hasmap中的ArrayList並再次迭代ArrayList

這是我曾嘗試:

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); 
      } 
     } 

但它仍然顯示我只是最近值?

我哪裏出錯了?

+1

高飛你的迭代似乎是正確的..可在插入值到HashMap中<字符串的ArrayList >>你已經使用了相同的對象 – 2013-02-08 11:54:09

+0

我有一個hasmap和ech時間的arrylist我創建它的一個對象,並將這個數組添加到我原來的hashmap?是因爲這個原因嗎? – Goofy 2013-02-08 12:04:08

回答

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()); 
        } 
      } 
}