Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сортировка HashMap

512
21 мая 2009 года
bnm
124 / / 17.10.2004
Подскажите как можно отсортировать HashMap по значениям, по алфавиту(HashMap<String, String>)?

List entryList = new ArrayList(mapServer.entrySet());
Collections.sort(entryList, new Comparator()
{
public int compare(Object o1, Object o2)
{
Map.Entry e1 = (Map.Entry) o1;
Map.Entry e2 = (Map.Entry) o2;
Comparable c1 = (Comparable) e1.getValue();
Comparable c2 = (Comparable) e2.getValue();//*/
return c1.compareTo(c2);
}
});

Выдает эксепшн:

Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at cbi.batch.importdahost.CreazioneAnagrafeF24.createAnagrafe(CreazioneAnagrafeF24.java:335)
at cbi.batch.importdahost.CreazioneAnagrafeF24.createAllAnagrafe(CreazioneAnagrafeF24.java:175)
at cbi.batch.importdahost.CreazioneAnagrafeF24.start(CreazioneAnagrafeF24.java:128)
at cbitest.XXX.main(XXX.java:27)
Caused by: java.lang.ClassCastException: java.util.HashMap$Entry cannot be cast to java.lang.Comparable
at cbi.batch.importdahost.CreazioneAnagrafeF24$1.compare(CreazioneAnagrafeF24.java:478)
at java.util.Arrays.mergeSort(Arrays.java:1270)
at java.util.Arrays.mergeSort(Arrays.java:1281)
at java.util.Arrays.mergeSort(Arrays.java:1281)
at java.util.Arrays.mergeSort(Arrays.java:1281)
at java.util.Arrays.mergeSort(Arrays.java:1281)
at java.util.Arrays.sort(Arrays.java:1210)
at java.util.Collections.sort(Collections.java:159)
at cbi.batch.importdahost.CreazioneAnagrafeF24.CAPDAANAGRAFE(CreazioneAnagrafeF24.java:469)
... 8 more
63
21 мая 2009 года
Zorkus
2.6K / / 04.11.2006
Caused by: java.lang.ClassCastException: java.util.HashMap$Entry cannot be cast to java.lang.Comparable
Понимаете что означает сообщение?
512
21 мая 2009 года
bnm
124 / / 17.10.2004
Это я понимаю)), просто другого решения найти не могу, написал то что пробовал последним...
63
21 мая 2009 года
Zorkus
2.6K / / 04.11.2006
http://www.rgagnon.com/javadetails/java-0561.html

just use google
3.7K
22 мая 2009 года
bioflash
169 / / 01.10.2005
Можно использовать TreeMap - там сортировка работает автоматически.
47K
28 мая 2009 года
xalz
10 / / 28.05.2009
Если ты хочешь получить сортированный список то используй TreeMap или Сomparator
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог