Java/Java 문법

ArrayList<Dto> Map value 값으로 정렬

민돌v 2022. 1. 16. 02:11

Class

public class test {
    private String name;
    private LinkedHashMap<String, Integer> data;

    public EventSummary(String name){
        this.login = login;
        events = new LinkedHashMap<>();
        events.put("TotalData",0);
    }
}

data 구조

대에충 이런식의 클래스

ArrayList<test> TestList 라는 리스트가 존재할때, 이 클래스안의 Map 안의 특정 키값으로 정렬을 하고 싶을때!

 

test.stream().sorted((t1, t2) ->Integer.compare(e2.getData().get(key), e1.getData().get(key))).collect(Collectors.toList());

compare e2, e1 -> 내림차순

compare e1, e2 -> 오름차순

 

 

*참고

https://myhappyman.tistory.com/78

 

JAVA8 - Stream 사용하기 - 2(sorted 데이터 정렬)

Stream 사용하기 1에 이어서 이번엔 Stream의 sorted를 사용해보겠습니다. 배열, 컬렉션에 담긴 데이터를 정렬하는 예제를 보겠습니다. sorted String배열 정렬하기. String[] animals = {"rabbit", "fox", "cat",..

myhappyman.tistory.com