/** * created by victory_woo on 2020/11/10 */ publicclassMapSortingTest{ publicstaticvoidmain(String[] args){ HashMap<String, Integer> map = new HashMap<>(); map.put("A", 65); map.put("C", 67); map.put("E", 90); map.put("D", 68); map.put("B", 66); map.put("Z", 1);
List<String> keySet = new ArrayList<>(map.keySet());
System.out.println("==Key 값 기준으로 오름차순 정렬=="); List<String> keys = new ArrayList<>(map.keySet()); Collections.sort(keys); for (String key : keys) { System.out.println(String.format("Key : %s, Value : %s", key, map.get(key))); }
keys.sort(Collections.reverseOrder());
System.out.println("==Key 값 기준으로 내림차순 정렬=="); for (String key : keys) { System.out.println(String.format("Key : %s, Value : %s", key, map.get(key))); } } }
[결과]
1 2 3 4 5 6 7 8 9 10 11 12 13 14
==Key 값 기준으로 오름차순 정렬== Key : A, Value : 65 Key : B, Value : 66 Key : C, Value : 67 Key : D, Value : 68 Key : E, Value : 90 Key : Z, Value : 1 ==Key 값 기준으로 내림차순 정렬== Key : Z, Value : 1 Key : E, Value : 90 Key : D, Value : 68 Key : C, Value : 67 Key : B, Value : 66 Key : A, Value : 65
Key 값으로 정렬이 필요한 경우라면, HashMap보다는 TreeMap을 사용하는 편이 낫다. 그래도 한번 알아두면 나중에 필요할 때, 유용하게 사용할 수 있다고 생각하므로 꼭 익혀두길 바란다!