Senior
103
Comment faire sortir les numéros et construire une Map en un seul flux ?
Entreprises à qui on a demandé
ЦифровыеПривычки
Réponse de l'IA
sobes.tech IA
В 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 происходят за один стрим.