Назад к вопросам
Middle
3
Что выведет данный тест? @Test public void test50() { List<Integer> numbers = List.of(1, 2, 3, 4, 5); numbers.stream() .map(x -> { System.out.println(x); return x; }) .filter(x -> x > 2) .map(x -> { System.out.println(x); return x; }) .toList(); } }
Компании, где спрашивали
Лоция
Ответ от нейросети
sobes.tech AI
В данном тесте создаётся список чисел от 1 до 5 и выполняется последовательная обработка через Stream API.
Пояснение вывода:
- Первый
.map(x -> { System.out.println(x); return x; })выводит все элементы списка: 1, 2, 3, 4, 5. - Затем
.filter(x -> x > 2)пропускает только числа больше 2: 3, 4, 5. - Второй
.map(x -> { System.out.println(x); return x; })выводит только отфильтрованные элементы: 3, 4, 5.
Итоговый вывод в консоль будет:
1
2
3
4
5
3
4
5
Обратите внимание, что стримы в Java ленивы, но терминальная операция .toList() запускает выполнение, поэтому все элементы будут обработаны и выведены.