HashMap Comparator

Небольшое напоминание себе, чтоб не забыть, а то вот уже третий раз не могу найти этот код в проекте (потому что он большой и хреново структурированный), поэтому пишу его четвертый раз и выкладываю тут чтоб не забыть. Это пример как отсортировать 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]
	}
}