반응형
java.util.Comparator<T> 를 사용하여 List 를 정렬하는 방법을 알아보도록 하겠습니다.
아래와 같은 VO Class가 있습니다.
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class signalVO{
private String link_id;
private String signal_id;
private int dir;
private String intersec_no;
private String result;
}
1. 단일조건 정렬 (오름차순)
위 VO를 link_id로 정렬한다고 하면 아래와 같이 활용합니다.
ArrayList<SignalVO> list = new ArrayList<SignalVO>();
...값 입력
/*단일 정렬 (오름차순)*/
list.sort(Comparator.comparing(SignalVO::getLink_id);
2. 단일조건 정렬(내림차순)
reversed 메소드를 활용합니다.
ArrayList<SignalVO> list = new ArrayList<SignalVO>();
...값 입력
/*단일 정렬 (내림차순)*/
list.sort(Comparator.comparing(SignalVO::getLink_id).reversed();
3. 다중조건 정렬
thenComparing 메소드를 활용합니다.
ArrayList<SignalVO> list = new ArrayList<SignalVO>();
...값 입력
/*다중 정렬*/
list.sort(Comparator.comparing(SignalVO::getLink_id).reversed()
thenComparing(SignalVO::getIntersec_no));
이처럼 다중조건 정렬의 경우 thenComparing 메소드로 연결하여 사용하시면 됩니다.
반응형
'Programing > JAVA' 카테고리의 다른 글
java 카카오 간편 로그인 구현하기 처음부터 자세히! (1) | 2023.02.24 |
---|---|
Yaml 파일 객체화 yaml 파일 읽기 snakeyaml (0) | 2023.02.17 |
Custom Annotation 생성하기 @interface 알짜만 빼먹기 (0) | 2022.11.15 |
Java Functional Interface 알짜만 빼먹기 Predicate/Spplier/Consumer/Function (1) | 2022.10.05 |
Java Optional 알짜만 빼먹기 사용법/등장이유 (1) | 2022.10.03 |
댓글