반응형
Java Stream sorted 정렬
설명
- 자바에서 리스트 정렬을 하는 방법이 많은데 Stream sorted를 이용하면 쉽게 리스트를 정렬할 수 있다.
정렬 예제
기본 sorted 사용
- 오름차순 정렬
var numbers = List.of(5, 2, 3, 9, 4);
numbers.stream()
.sorted()
.collect(Collectors.toList());
- 내림차순 정렬
var numbers = List.of(5, 2, 3, 9, 4);
numbers.stream()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
객체 리스트 정렬 Comparator.comparing 사용
- 오름차순
var StudentList = List.of(
new Student(4, "tae", 100, 100, 100),
new Student(5, "lob", 75, 75, 100),
new Student(1, "hong", 75, 90, 80),
new Student(2, "sujin", 50, 90, 100),
new Student(3, "kate", 90, 75, 75));
StudentList.stream()
.sorted(Comparator.comparing(Student::getNo))
.collect(Collectors.toList());
- 내림차순
var StudentList = List.of(
new Student(4, "tae", 100, 100, 100),
new Student(5, "lob", 75, 75, 100),
new Student(1, "hong", 75, 90, 80),
new Student(2, "sujin", 50, 90, 100),
new Student(3, "kate", 90, 75, 75));
StudentList.stream()
.sorted(Comparator.comparing(Student::getNo).reversed())
.collect(Collectors.toList());
객체 리스트 정렬 (a, b) -> b.mathScore() - a.mathScore() 사용
- 오름차순
var StudentList = List.of(
new Student(4, "tae", 100, 100, 100),
new Student(5, "lob", 75, 75, 100),
new Student(1, "hong", 75, 90, 80),
new Student(2, "sujin", 50, 90, 100),
new Student(3, "kate", 90, 75, 75));
StudentList.stream()
.sorted((a, b) -> a.mathScore() - b.mathScore())
.collect(Collectors.toList());
- 내림차순
var StudentList = List.of(
new Student(4, "tae", 100, 100, 100),
new Student(5, "lob", 75, 75, 100),
new Student(1, "hong", 75, 90, 80),
new Student(2, "sujin", 50, 90, 100),
new Student(3, "kate", 90, 75, 75));
StudentList.stream()
.sorted((a, b) -> b.mathScore() - a.mathScore())
.collect(Collectors.toList());
객체 리스트 정렬 두가지 이상 정렬 기준으로 정렬
- 오름차순, 오름차순
var StudentList = List.of(
new Student(4, "tae", 100, 100, 100),
new Student(5, "lob", 75, 75, 100),
new Student(1, "hong", 75, 90, 80),
new Student(2, "sujin", 50, 90, 100),
new Student(3, "kate", 90, 75, 75));
StudentList.stream()
.sorted(Comparator.comparing(Student::getNo)
.thenComparing(Student::getName))
.collect(Collectors.toList());
- 오름차순, 내림차순
var StudentList = List.of(
new Student(4, "tae", 100, 100, 100),
new Student(5, "lob", 75, 75, 100),
new Student(1, "hong", 75, 90, 80),
new Student(2, "sujin", 50, 90, 100),
new Student(3, "kate", 90, 75, 75));
StudentList.stream()
.sorted(Comparator.comparing(Student::getNo)
.thenComparing(Student::getName, Comparator.reverseOrder()))
.collect(Collectors.toList());
#Java 정렬 #Stream 정렬 #Java 오름차순 정렬 #Java 내림차순 정렬 #Java 두가지 조건 정렬
반응형
'자기개발 > 검색한 자료 정리' 카테고리의 다른 글
Java 이항연산자 대신 optional 사용 (2) | 2022.07.30 |
---|---|
javascript typescript 객체 속성 제거 방법 (2) | 2022.07.30 |
npm 특정 버전 설치 방법 (2) | 2022.07.03 |
react json 정렬 라이브러리 (2) | 2022.07.03 |
QueryDsl 안될때 gradle 설정법 (2) | 2022.07.03 |