[java] 람다 표현식을 사용하여 스트림을 어떻게 정렬할 수 있나요?

예를 들어, 문자열로 이루어진 스트림을 길이를 기준으로 오름차순으로 정렬하려면 다음과 같이 할 수 있습니다:

List<String> strings = Arrays.asList("apple", "orange", "banana", "pear");
List<String> sortedList = strings.stream()
    .sorted((s1, s2) -> Integer.compare(s1.length(), s2.length()))
    .collect(Collectors.toList());
System.out.println(sortedList);

위의 코드에서, sorted() 메서드에 람다 표현식을 사용하여 문자열을 길이를 기준으로 정렬하고 있습니다. 우선적으로 문자열의 길이를 비교하는 람다 표현식 ((s1, s2) -> Integer.compare(s1.length(), s2.length()))을 정의하여 sorted() 메서드에 전달했습니다.

이제 스트림을 사용하여 요소를 원하는 방식으로 정렬할 수 있습니다.