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

Развертывание потока в Java

Метод map заменяет элемент на один новый объект. Метод flatMap нужен, когда у каждого элемента есть целая коллекция или поток, и все внутренние значения должны идти подряд в общей цепочке.

Строку с словами через пробел можно разбить на отдельные токены:

import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> lines = List.of("go rust", "java kotlin"); List<String> words = lines.stream() .flatMap(line -> Arrays.stream(line.split(" "))) .toList(); System.out.println(words); } }

Если у записи несколько тегов, flatMap развернет списки тегов в один поток строк:

import java.util.List; public class Main { public static void main(String[] args) { List<Article> feed = List.of( new Article(List.of("java", "stream")), new Article(List.of("api")) ); List<String> tags = feed.stream() .flatMap(article -> article.tags.stream()) .toList(); System.out.println(tags); } } record Article(List<String> tags) {}

Дан код:

var strings = List.of("a-b", "c-d-e");

Разбейте каждую строку по символу "-", соберите все части в один список и выведите его.

Дан код:

var nums = List.of(2, 3);

Для каждого числа постройте список его кратных от одного до трех и выведите один итоговый список.

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