У цій лекції розбираємо агрегаційні операції 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. Наприкінці — розбір типових помилок і нюансів.