본문 바로가기
개발언어/JAVA

[JAVA] Map에서 데이터를 값(Value)기준으로 정렬방법 (오름차순, 내림차순)

by 코딩 시그널 2021. 1. 1.
반응형

자바에서 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));
		}
	}
}

댓글