2013-02-08 2 views
0

나는 이와 같은 hashmap을 가지고 있습니다. 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

구피 당신의 반복자를 잘 보인다을 .. >> 동일한 객체를 사용했습니다 –

+0

hasmap과 ech 시간의 arrylist를 가지고 있습니다. 객체를 creatng하고이 배열을 원래 hashmap에 추가하고 있습니까? 그것 때문일까? – Goofy

답변

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()); 
        } 
      } 
} 
관련 문제