Programing/JAVA
Java List<?> 정렬, 다중조건정렬, 오름, 내림차순 Comparator
리커니
2023. 1. 25. 10:38
반응형
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 메소드로 연결하여 사용하시면 됩니다.
반응형