2017-01-22 1 views
-2

난 당신이 다른 모든 맵을 반복하는 것처럼 어떻게 당신은 그것을 반복 것이다 Map<String, List<Map<String, Object>>>어떻게 반복하는지도 <String, List <Map <String, Object >>> 자바에서?

+0

은 아마이 여기에 대한 답변 : 무슨 http://stackoverflow.com/questions/46898/how-to-efficiently-iterate-over-each-entry-in-a-map#46908 필요합니까 –

+1

이지도를 반복하면서 할 일이 있습니까? 지금까지 뭐 해봤 어? –

+0

지도의 List >가 있습니다. 반복 할 때 혼란 스럽습니다. –

답변

3

같은 맵을 반복하는

Map<String, List<Map<String, Object>>>을 반환하는 방법이있다. 목록을 반복적으로 반복하고 반복 루프 내부에서 다른 Aap을 반복하면됩니다. (기능 코드 제외)

한 가지 가능한 방법 : 당신이 목록 색인을 알 필요가 있다면

Map<String, List<Map<String, Object>>> yourMap = ...; 
//iterate over outer map 
for(Map.Entry<String, List<Map<String, Object>>> topEntry : yourMap.entrySet()) { 
    String topKey = topEntry.getKey(); 
    //iterate over list 
    for(Map<String, Object> innerMap : topEntry.getValue()) { 
    //iterate over inner map 
    for(Map.Entry<String, Object> innerEntry : innerMap.entrySet()) { 
     String innerKey = innerEntry.getKey(); 
     Object innerValue = innerEntry.getValue(); 
    } 
    } 
} 

당신은 또한 FORI 루프 [for(int i=0; i<list.size(); i++)]에 목록을 통해 foreach 루프를 반복하는 전환 할 수 있습니다.

+0

'yourMap.entrySet()'에 오류가 발생했습니다 –

+0

그리고 그 오류가 무엇입니까? 지도를 정의 했습니까? 아니면 그냥 null입니까? –

-1
for(Map.Entry<String, List<Map<String, Object>>> entry : map.entrySet()) { 
    System.out.println(entry.getKey() + " : " + entry); 
} 
관련 문제