오름차순
List<Member> sortedMemberList = memberList.stream()
.sorted(Comparator.comparing(Member::getAge)) // member의 age 속성을 기준으로 정렬한다.
.collect(toList());
내림차순
List<Member> sortedMemberList = memberList.stream()
.sorted(Comparator.comparing(Member::getAge, Comparator.reverseOrder()))
.collect(toList());
정렬 객체비교 시 nullable한 경우
Comparator.nullsFirst(), Comparator.nullsLast() 사용
Comparator.nullsFirst() : null 가진 객체를 앞으로 보내어 정렬
Comparator.nullsLast() : null 가진 객체를 뒤로 보내어 정렬
오름차순
List<Member> result = memberList.stream()
.sorted(Comparator.comparing(Member::getAge, Comparator.nullsLast(Comparator.naturalOrder())))
.collect(toList());
내림차순
List<Member> result = memberList.stream()
.sorted(Comparator.comparing(Member::getAge, Comparator.nullsFirst(Comparator.reverseOrder())))
.collect(toList());
여러 필드값의 Stream sorted
orgOrderNum -> orgNm -> empNm 순으로 정렬된다.
orgNm이 null인경우 제일 마지막순서로 정렬한다.
orgMemberList = orgMemberList.stream()
.sorted(Comparator.comparing(DsbEmp::getOrgOrderNum).reversed()
.thenComparing(Comparator.comparing(DsbEmp::getOrgNm, Comparator.nullsLast(Comparator.naturalOrder())).reversed())
.thenComparing(Comparator.comparing(DsbEmp::getEmpNm).reversed()))
.collect(Collectors.toList());
'language > java' 카테고리의 다른 글
syncronized 란? (0) | 2020.08.06 |
---|---|
자바 파일경로 읽기 (0) | 2020.06.14 |
제네릭 <T> 사용하기 (0) | 2020.03.23 |
list에서 요소 삭제하기 (0) | 2020.03.19 |
Integer.valueOf와 Integer.parseInt차이 (0) | 2020.03.19 |