Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpStFc 36 of 322 menu
◀ ▶

Поток из коллекции в Java

У готовой коллекции есть stream: метод не копирует элементы в новую структуру, а открывает потоковый вид на те же данные. Дальше шаги пишут так же, как в цепочке преобразований над списком.

Для списка строк можно поднять регистр каждой строки и в конце снова получить список:

import java.util.List; public class Main { public static void main(String[] args) { List<String> words = List.of("api", "log", "io"); List<String> upper = words.stream() .map(String::toUpperCase) .toList(); System.out.println(upper); } }

Тот же прием работает у множества. Порядок обхода зависит от типа коллекции, а отсортировать элементы можно уже внутри цепочки:

import java.util.List; import java.util.Set; public class Main { public static void main(String[] args) { Set<Integer> ids = Set.of(3, 1, 2); List<Integer> ordered = ids.stream() .sorted() .toList(); System.out.println(ordered); } }

Конечный toList материализует результат. Исходный список или множество при этом не меняется: меняется только новая коллекция, которую вернул конец цепочки.

Дан код:

var strings = List.of("go", "rust", "kotlin");

Постройте поток, оставьте строки длиннее трех символов и соберите их в список. Выведите результат.

Дано множество Set.of(5, 12, 8). Получите список четных чисел в порядке возрастания. Выведите его.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить