Как позднее связывание источника Stream влияет на изменения коллекции между созданием стрима и запуском терминальной операции?
База Hintsage
Stream API
Функциональные интерфейсы, streams, collectors и параллельная обработка.
Практика
Вопросы: Stream API
При удалении требования к порядку из параллельного стрима почему устранение дубликатов может выполняться эффективнее?
В параллельном reduce начальное значение выбрано не нейтральным: почему результат может зависеть от степени распараллеливания?
В параллельном стриме сортировка большого объёма данных резко увеличила задержку и потребление памяти. Каким механизмом это объясняется?
В задаче обработки потока один входной элемент может порождать несколько выходных: чем механизм mapMulti отличается от flatMap по построению результирующего потока?
Что мешает стандартной лямбде в операции Stream напрямую передать проверяемое исключение вызывающему коду?
Назовите жизненное событие, которое запускает обработчики, зарегистрированные у Stream через onClose.
В практической ситуации нужно сгруппировать элементы по ключу и сразу получить количество в каждой группе, не сохраняя сами элементы. Какую роль здесь играет downstream-коллектор?
При выборе между groupingBy и groupingByConcurrent для параллельного стрима какой механизм определяет разницу в масштабируемости?
Два элемента потока получают один ключ при сборе в Map без функции слияния: какое поведение следует ожидать?
Какие последствия имеет неассоциативная функция свёртки для параллельного Stream?
В практической ситуации результат Stream.toList() передают коду, который добавляет в него элементы: какое свойство результата делает такую операцию ошибочной?
В каких случаях выбор IntStream вместо Stream<Integer> заметно меняет производительность числового конвейера?
Сравните findFirst и findAny в параллельном стриме: какую гарантию по элементу даёт каждая операция?
При захвате локальной переменной лямбдой в Stream почему компилятор требует, чтобы она не изменялась после инициализации?
Как характеристика IDENTITY_FINISH меняет работу Collector при завершении сбора?
В параллельном стриме операция limit может запросить у источника больше элементов, чем вернёт. Каким механизмом объясняется такое поведение?
Рассмотрите упорядоченный стрим, который собирают Collector с характеристикой UNORDERED: какие гарантии по порядку результата исчезают?
Нужно получить плоский список токенов из строк. Какую операцию следует применить вместо указанной, чтобы результат имел тип List<String> и содержал a, b, c?
import java.util.*;
import java.util.stream.*;
List<String> result = Stream.of("a,b", "c")
.map(s -> Arrays.stream(s.split(",")))
.toList();
Представьте обработку коллекции стримом, где лямбда изменяет исходную коллекцию: какой контракт нарушен?
Показано 21–40 из 50