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

Сбор потока через Collectors в Java

Метод collect принимает Collector и гибко собирает результат. Класс Collectors дает заготовки для списков, множеств, строк и сложных структур.

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

import java.util.List; import java.util.Set; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<Integer> nums = List.of(2, 5, 2, 8, 5); Set<Integer> unique = nums.stream() .collect(Collectors.toSet()); System.out.println(unique); } }

Коллектор joining склеивает строки с разделителем:

import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<String> tags = List.of("api", "log", "io"); String line = tags.stream() .filter(tag -> tag.length() > 2) .collect(Collectors.joining(", ")); System.out.println(line); } }

Через toMap можно построить словарь, если для каждого ключа одно значение:

import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<String> words = List.of("go", "java", "rust"); Map<String, Integer> lengths = words.stream() .collect(Collectors.toMap( word -> word, String::length )); System.out.println(lengths); } }

Дан код:

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

Соберите четные числа в множество и выведите его.

Дан код:

var strings = List.of("a", "bb", "ccc");

Склейте их через "|" и выведите строку.

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