Какое отличие между методами peek() и sorted() в контексте работы с коллекциями или потоками данных?

Методы peek() и sorted() в Java Stream API выполняют разные задачи:

Короткий ответ

Что ответить на собеседовании

Методы peek() и sorted() в Java Stream API выполняют разные задачи:

Подробный разбор

Ответ с пояснениями

Методы 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() — для изменения порядка элементов в потоке.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее