HashMap Comparator
20 Февраль 2009
Небольшое напоминание себе, чтоб не забыть, а то вот уже третий раз не могу найти этот код в проекте (потому что он большой и хреново структурированный), поэтому пишу его четвертый раз и выкладываю тут чтоб не забыть. Это пример как отсортировать HashMap по значениям, а еще это пример использования double braces initialization, хоть это никому, по большому счету, и не надо.
package com.incom;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by IntelliJ IDEA.
* User: CTAPbIu_MABP
* Date: 20 лют 2009 Time: 15:18:40
*/
public class HashMapComparatorTest {
public static void main(String[] args) {
Map map = new HashMap() {{
put("one","first");
put("two","second");
put("three","third");
put("four","fourth");
put("five","fifth");
}};
List entryList = new ArrayList(map.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);
}
});
System.out.print(entryList);
// [five=fifth, one=first, four=fourth, two=second, three=third]
}
}
Свежие комментарии