요르딩딩

Map 정렬하는 법 (특정 Key에 대한 value 정렬) 본문

[Web]/[Back-End]

Map 정렬하는 법 (특정 Key에 대한 value 정렬)

요르딩딩 2022. 4. 18. 13:19
728x90
반응형
class MapComparator implements Comparator<HashMap<String, Object>> {
    private final String key;
    
    public MapComparator(String key) {
        this.key = key;
    }
    
    @Override
    public int compare(HashMap<String, Object> first, HashMap<String, Object> second) {
        int firstValue = (int) (first.get(key));
        int secondValue = (int) (second.get(key));

        // 내림차순 정렬
        if (firstValue > secondValue) {
            return -1;
        } else if (firstValue < secondValue) {
            return 1;
        } else {
            return 0;
        }
    }

//사용하는 방법
MapComparator mapC = new MapComparator("key"); //Key 기준으로 정렬 (내림차순)
Collections.sort(list, mapC);

//상위 5개만 노출
tmpMap.put("result_list", list.subList(0, list.size() < 5? list.size() : 5));
728x90
반응형

'[Web] > [Back-End]' 카테고리의 다른 글

구성  (0) 2022.02.15
[Spring] endPoint 변경하는법 (엔드포인트 변경)  (0) 2022.02.14
자바 DB중복 컬럼 체크  (0) 2021.04.02
java 파일다운로드  (0) 2021.03.29
RESTFul , HTTP Response Status , HTTP Response Status Code표  (0) 2021.03.02
Comments