3 개의 중첩 된 TreeMaps 집합이 있습니다.중첩 된 TreeMaps를 통해 반복하는 방법은 무엇입니까?
TreeMap<DayOfWeek, TreeMap<Court, TreeMap<Time, String>>> keyDay = new TreeMap<DayOfWeek, TreeMap<Court, TreeMap<Time, String>>>();
TreeMap<Court, TreeMap<Time, String>> keyCourt = new TreeMap<Court, TreeMap<Time, String>>();
TreeMap<Time, String> keyTime = new TreeMap<Time, String>();
는 예약 정보를 저장합니다. 생성 된 모든 예약을 표시하는 중첩 된 while 루프를 사용하여 반복을 시도하지만 관련 부모와 관련된 값만 표시하는 중첩 된 whiles의 방법이 필요합니다.
다음은 내가 가지고있는 것입니다.
Iterator listOfDays = keyDay.keySet().iterator();
Iterator listOfCourts = keyCourt.keySet().iterator();
Iterator listOfTimes = keyTime.keySet().iterator();
String output;
while (listOfDays.hasNext()) {
DayOfWeek currentDay = (DayOfWeek) (listOfDays.next());
output += currentDay.toString() + "\n----------\n";
while (listOfCourts.hasNext()){
Court currentCourt = (Court) (listOfCourts.next());
output += currentCourt.toString() + ":\n";
while (listOfTimes.hasNext()){
Time currentTime = (Time) (listOfTimes.next());
String currentName = (String) keyTime.get(currentTime);
output += currentTime.toString() + " - " + currentName + "\n";
}
}
... 예상대로 (그러나 원하지는 않음), 각 TreeMap의 모든 항목을 끝까지 반복합니다.
누구든지 도와 줄 수 있습니까?
여기서 혼란스러운 점은 중첩 된 나무에 대해 이야기하고 실제로 keyDay가 중첩되어 있지만 중첩 된 나무를 만지지는 않고 무관 한 나무 위로 이동한다는 것입니다. – Ingo
흠, 무슨 뜻인지 잘 모르겠지만 나무에서 '기록'을 구조화하는 방법을 보여 주겠다. [day, [court #, [time, name]]]. – melat0nin
가능한 경우 입력 된 모음을 사용하십시오. 많은 키 스트로크를 저장하고 코드의 유형 안전성을 향상시킵니다. –