Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Collection.stream()

Создаёт поток (Stream) из элементов коллекции.

Доступно с: Java 8

Синтаксис

default Stream<E> stream()

Возвращаемое значение

Stream<E>Новый поток элементов коллекции.

Примеры

Цепочка операций над списком:

void main() {
    List<String> names = List.of("Anna", "Oleg", "Ivan", "Alla");
    List<String> result = names.stream()
        .filter(n -> n.startsWith("A"))
        .map(String::toUpperCase)
        .toList();
    IO.println(result);
    IO.println(names);
}

Результат:

[ANNA, ALLA]
[Anna, Oleg, Ivan, Alla]

Примечания

Поток не хранит данные и не меняет исходную коллекцию. Промежуточные операции (filter, map, sorted) ленивые и выполняются, только когда вызвана завершающая (toList, count, forEach, collect). Поток одноразовый: повторное использование бросает IllegalStateException. У Map потока нет — используйте map.entrySet().stream().

См. также

  • Stream.of() — Создаёт поток из перечисленных значений.
  • Stream.filter() — Оставляет в потоке только элементы, подходящие под условие.
  • Stream.map() — Преобразует каждый элемент потока.
  • Stream.toList() — Собирает элементы потока в неизменяемый список.

В учебнике

  • Что такое поток данных — Stream API в Java — источник, промежуточные и завершающие операции, создание потоков, ленивые вычисления и одноразовость потока.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.