Junior — Middle
Mi a különbség a peek() és a sorted() módszerek között az adatok vagy adatfolyamok kezelésében?
sobes.tech MI
Válasz az MI-től
Методы 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()— для изменения порядка элементов в потоке.