В этой лекции разбираем агрегирующие операции Stream API: как считать количество через
count(), суммы и средние с примитивными стримами (
IntStream,
LongStream,
DoubleStream) и методами
sum(),
average(), а также находить экстремумы через
min()/
max(). Отдельно обсудим работу с контейнерами
Optional,
OptionalInt,
OptionalLong,
OptionalDouble и правильные способы извлечения значений:
orElse(...),
ifPresent(...),
orElseThrow(). Научимся использовать коллекторами
Collectors.summingInt,
Collectors.averagingInt,
Collectors.maxBy/
minBy и сочетать их с
groupingBy. В конце — разбор типичных ошибок и нюансов.