다음 복잡한 데이터 구조를 사용합니다.TreeMap에서 HashMap 가져 오기
departures = new TreeMap<String, Map<String, Set<MyObject>>>();
arrivals=new HashMap<String, Set<MyObject>>();
flights=new HashSet<MyObject>();
그런 다음 루프를 사용합니다 (다른 루프도 시도 함).
for(String dep: nizDep){
for(String arr: nizArr){
for(MyObject flight: _flights){
if(flight.getFrom().equalsIgnoreCase(dep)&&flight.getTo().equalsIgnoreCase(arr)){
flights.add(flight);
}
}
if(!flights.isEmpty()){
arrivals.put(arr, flights);
flights.clear();
}
}
if(!arrivals.isEmpty()){
departures.put(dep, arrivals);
arrivals.clear();
}
}
System.out.println(departures.size()); //result 14
System.out.println(departures.containsKey("Madrid")); //result true
arrivals=departures.get("Madrid");
System.out.println(arrivals.size()); //result 0, arrivals is empty. WHY?
내 질문이 복잡한 데이터 구조를 사용하는 방법과 출발에서 도착를 검색하는 방법은?
왜이 '복잡한 구조'에 대한 수업을하지 않습니까? 만약 당신이했다면, 조금 더 이해할 수있게 만들 것입니다 ... – justderb
이것은 많은 필자가 끝내야 할 많은 프로젝트의 일부이고 (예를 들어이 데이터 구조와 같이) 변경하지 않아야하는 코드이기 때문입니다. – exemplum