TreeMap을 사용할 경우 key값의 오름차순으로 Map의 entry 순서를 유지할 수 있다. 내림차순으로 유지하려면 어떻게 하는가?
Comparator<Integer> comparator = Comparator.reverseOrder();
this.coins = new TreeMap<>(comparator);
for (Map.Entry<Integer, Integer> entrySet : coins.entrySet()) {
System.out.println(entrySet.getKey() + "원 - " +
entrySet.getValue() + "개");
}
500원 - 0개
100원 - 4개
50원 - 1개
10원 - 0개
Comparator를 직접 구현해도 좋지만 Java가 제공하는 Comparator.reverseOrder()
를 이용하는 것이 더 좋다. 위 코드는 key의 Integer를 기준으로 내림차순 정렬되는 TreeMap을 생성하였다.