Sobes.tech
Junior — Middle
93

Was ist der Unterschied zwischen den Methoden peek() und sorted() im Kontext der Arbeit mit Sammlungen oder Datenströmen?

Unternehmen wurden gefragt
SimbirsoftSimbirsoft

Antwort von AI

sobes.tech KI

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