HashMap의 데이터를 value값으로 정렬하기
1. List 만들기
HashMap을 정렬하기 위해선 다음과 같이 entrySet()으로 변환시킨 뒤, List에 넣어야한다.
Map<String, Integer> map = new HashMap<>();
List<Map.Entry<String, Integer>> entries = new ArrayList<>(map.entrySet());
- 이때 List의 Generic에는 Map.Entry 객체가 들어가야 한다.
- ArrayList 생성자로 entrySet을 넣어주면 쉽게 List를 만들 수 있다.
2. sort()메소드로 정렬하기
sort() 메소드의 매개변수로 Comparator 객체를 넣어주면 된다.
Map<String, Integer> map = new HashMap<>();
List<Map.Entry<String, Integer>> entries = new ArrayList<>(map.entrySet());
entries.sort((e1, e2) -> Integer.compare(e2.getValue(), e1.getValue()));
'Java' 카테고리의 다른 글
[Java] Stream API (0) | 2024.07.25 |
---|---|
[Java] 람다식의 이해 (0) | 2024.07.25 |
[Java] HashSet - 객체의 속성으로 중복 체크 (0) | 2024.06.21 |
[Java] 배열 정렬하기 (0) | 2024.06.16 |
[Java] 배열 복사 및 출력하기 (0) | 2024.06.02 |