오름차순

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

+ Recent posts