我使用以下複雜的數據結構。從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