Stream.toList()
Собирает элементы потока в неизменяемый список.
Доступно с: Java 16
Синтаксис
default List<T> toList()Возвращаемое значение
List<T>Неизменяемый список элементов потока.
Примеры
Короткий способ получить список:
void main() {
List<Integer> squares = Stream.of(1, 2, 3).map(n -> n * n).toList();
IO.println(squares);
try {
squares.add(16);
} catch (UnsupportedOperationException e) {
IO.println("unmodifiable");
}
}Результат:
[1, 4, 9]
unmodifiableПримечания
Результат нельзя менять — в отличие от collect(Collectors.toList()), который на практике возвращает ArrayList. Если список нужно дополнять, используйте collect(Collectors.toCollection(ArrayList::new)) или new ArrayList<>(stream.toList()).
См. также
- Collectors.toList() — Сборщик, который складывает элементы потока в список.
- Stream.collect() — Собирает элементы потока в коллекцию, строку или другую структуру.
- Collection.stream() — Создаёт поток (Stream) из элементов коллекции.
Вопросы и ответы по теме
В учебнике
- Что такое поток данных — Stream API в Java — источник, промежуточные и завершающие операции, создание потоков, ленивые вычисления и одноразовость потока.