Junior — Middle
Quelle est la différence entre les méthodes peek() et sorted() dans le contexte du travail avec des collections ou des flux de données?
sobes.tech IA
Réponse de l'IA
Методы peek() и sorted() в Java Stream API выполняют разные задачи:
-
peek() — промежуточный метод, который позволяет выполнить действие над каждым элементом потока без изменения самого потока. Обычно используется для отладки или логирования.
-
sorted() — промежуточный метод, который сортирует элементы потока по естественному порядку или с помощью компаратора, возвращая новый отсортированный поток.
Пример использования:
List<String> list = Arrays.asList("banana", "apple", "cherry");
list.stream()
.peek(s -> System.out.println("До сортировки: " + s))
.sorted()
.peek(s -> System.out.println("После сортировки: " + s))
.collect(Collectors.toList());
В этом примере peek() выводит элементы до и после сортировки, а sorted() меняет порядок элементов.
Итого:
peek()— для побочных эффектов без изменения данных.sorted()— для изменения порядка элементов в потоке.