개발언어/JAVA
[JAVA] Map에서 데이터를 값(Value)기준으로 정렬방법 (오름차순, 내림차순)
코딩 시그널
2021. 1. 1. 17:09
반응형
자바에서 HashMap에 저장한 데이터를 Collections.sort메서드를 이용하여 값(Value)으로 정렬하는 방법을 알아보겠습니다.
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ArraySort {
public static void main(String[] args) {
Map<String, Integer> hmMap = new HashMap<>();
hmMap.put("A", 5);
hmMap.put("B", 1);
hmMap.put("C", 2);
hmMap.put("D", 4);
hmMap.put("E", 3);
List<String> listKeySet = new ArrayList<>(hmMap.keySet());
// 오름차순 정렬 방법
System.out.println("-------------- 오름차순 정렬 --------------");
Collections.sort(listKeySet, (value1, value2) -> (hmMap.get(value1).compareTo(hmMap.get(value2))));
for(String key : listKeySet) {
System.out.println("key : " + key + " , " + "value : " + hmMap.get(key));
}
// 내림차순 정렬 방법
System.out.println("-------------- 내림차순 정렬 --------------");
Collections.sort(listKeySet, (value1, value2) -> (hmMap.get(value2).compareTo(hmMap.get(value1))));
for(String key : listKeySet) {
System.out.println("key : " + key + " , " + "value : " + hmMap.get(key));
}
}
}