더북(TheBook)

sorted 메서드는 요소들을 돌려주기 전에 반드시 전체 스트림을 보고 정렬해야 한다(결과로 가장 작은 요소가 마지막 요소일 수 있다). 당연히 무한 스트림은 정렬할 수 없다.

sorted 메서드는 여러 버전이 있다. 한 버전은 Comparable 요소들의 스트림을 대상으로 작업하고, 또 다른 버전은 Comparator를 받는다. 여기서는 문자열을 정렬해서 가장 긴 문자열이 처음에 나타나게 한다.


Stream<String> longestFirst =

words.sorted(Comparator.comparing(String::length).reversed());


 

물론 스트림을 사용하지 않고도 컬렉션을 정렬할 수 있다. sorted 메서드는 정렬 과정이 스트림 파이프라인stream pipeline의 일부일 때 유용하다.

 

<Note>

Collections.sort 메서드는 컬렉션을 직접 정렬한다. 한편 Stream.sorted 메서드는 새롭게 정렬된 스트림을 리턴한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.