본문 바로가기
Language/Java

자바 List<Model> 에서 모델의 특정 값 기준으로 정렬방법

by wakestand 2022. 1. 17.
반응형

이미지와 같이 Model을 가지고 있는 List를

Model의 특정 값 기준으로 정렬하려고 하는데

 

Comparator를 이용하여

모델 안에 들어있는 값으로

간단히 정렬이 가능하다

 

[Model{name='Kim', age=10}, Model{name='Lee', age=50}, Model{name='Park', age=30}]
-- 정렬 전

List명.sort(new Comparator<모델>() {
    public int compare(모델 m1, 모델 m2) {
        return Integer.compare(m1.age, m2.age) == 1 ? -1 : Integer.compare(m1.age, m2.age) == 0 ? 0 : 1;
    }
});

modelList.sort(new Comparator<Model>() {
    public int compare(Model m1, Model m2) {
        return Integer.compare(m1.age, m2.age) == 1 ? -1 : Integer.compare(m1.age, m2.age) == 0 ? 0 : 1;
    }
});

-- 정렬 후
[Model{name='Lee', age=50}, Model{name='Park', age=30}, Model{name='Kim', age=10}]

 

이미지의 코드를 코드블럭으로 가져와 봤는데

List sort 시 Comparator를 사용해서

 

모델의 특정 값 기준으로

큰 값은 올리고 작은 값은 내리는 식으로

정렬을 해서 반환하게 된다

반응형

댓글