Українська
Підсумки
Висновки
Лямбда-вираз реалізує функціональний інтерфейс, а його тип визначає цільовий контекст. Стандартні інтерфейси java.util.function описують поширені форми поведінки, їхня композиція будує нові умови й перетворення, а посилання на методи та Comparator.comparing коротко задають делегування й порядок. Optional явно позначає відсутність результату, але не замінює порожню колекцію чи предметну помилку. Потік з’єднує джерело, ліниві проміжні операції й термінальну дію та не використовується повторно. Порядок операцій змінює зміст результату, reduce потребує асоціативної операції з нейтральним початковим значенням, а змінюване накопичення, групування й розбиття виконують колектори. Примітивні потоки уникають упаковки, а Gatherers з JDK 24 додають проміжні операції зі станом, зокрема ковзні вікна. Паралельний потік не гарантує прискорення й несумісний зі спільним змінюваним станом. Конвеєр перевіряють за спостережуваним результатом і незалежною реалізацією циклом, а коли політика складна, звичайний цикл може бути яснішим.
Підсумкові запитання
- Звідки лямбда отримує тип параметрів?
- Чим andThen відрізняється від compose?
- Чому orElse може виконати зайву роботу?
- Яка операція запускає конвеєр?
- Чим takeWhile відрізняється від filter?
- Яку політику вимагають дублікати ключів у toMap?
- Що поверне windowSliding для короткого джерела?
- Чому parallelStream не виправляє повільний алгоритм автоматично?