Назад к вопросам
Senior
13
Как сделать вывод номеров и построение Map за один стрим?
Компании, где спрашивали
ЦифровыеПривычки
Ответ от нейросети
sobes.tech AI
В Java Stream API можно одновременно вывести элементы и построить Map за один проход, используя метод peek для вывода и терминальный метод collect для сбора в Map. Например:
import java.util.*;
import java.util.stream.*;
public class Example {
public static void main(String[] args) {
List<String> list = Arrays.asList("one", "two", "three");
Map<String, Integer> map = list.stream()
.peek(s -> System.out.println("Элемент: " + s)) // выводим элемент
.collect(Collectors.toMap(
s -> s, // ключ — сам элемент
String::length // значение — длина строки
));
System.out.println("Map: " + map);
}
}
Здесь peek позволяет выполнить побочное действие (вывод в консоль) без прерывания потока, а collect собирает элементы в Map. Таким образом, вывод и построение Map происходят за один стрим.