我有一個將String鍵映射到自定義City類的TreeMap。下面是它是如何實例:Java TreeMap迭代器對字符串鍵無法正常工作
TreeMap<String, City> nameDictionary = new TreeMap<String, City>(new CityNameComparator());
CityNameComparator實現:
public class CityNameComparator implements Comparator<String>
{
public int compare (String c1, String c2) {
return c1.compareTo(c2);
}
}
我有一個返回通過地圖中的關鍵ASCII順序進行迭代的迭代器的方法:
public Iterator<City> getNameIterator(){
return nameDictionary.values().iterator();
}
由於某些原因,這些值將按照它們添加到TreeMap的順序返回。有任何想法嗎?
你能發表複製問題的工作代碼嗎?我沒有看到任何明顯的錯誤,雖然有一個自定義的比較器,只是使用字符串的自然順序是沒有意義的。 – 2009-10-04 19:00:43
我看不到任何理由,爲什麼這不應該工作。它一直爲我工作。 – 2009-10-04 19:22:51