Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> xs = List.of(1, 2, 3, 4, 5);
List<Integer> r = xs.stream()
.filter(x -> x % 2 == 1)
.map(x -> x * 10)
.toList();
System.out.println(r);
}
}[10, 30, 50]
- Ждать
[20, 40]:filterоставляет элементы, для которых условие вернулоtrue, здесь нечётные, а остальные отбрасывает. - Ждать, что
mapувидит все пять чисел: каждый шаг работает с тем, что выдал предыдущий, поэтомуmapполучает только 1, 3 и 5.
- Что напечатает
System.out.println(xs)после этого конвейера и почему? - Как получить не список, а сумму этих чисел?