У меня есть TreeMap, который отображает ключи String в пользовательский класс City. Вот как это делается:
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);
}
}
У меня есть метод, который возвращает итератор, который должен перебирать карту в порядке key-ascii:
public Iterator<City> getNameIterator(){
return nameDictionary.values().iterator();
}
По какой-то причине значения возвращаются в том порядке, в котором они были добавлены в TreeMap. Есть идеи?