В лекции разберём лямбда-выражения в Java: что это и зачем нужны, как устроен синтаксис и сокращения, как лямбды связаны с функциональными интерфейсами (
@FunctionalInterface), чем они отличаются от анонимных классов, и как работает захват переменных (
final / effectively final). На практических примерах с
Runnable,
Consumer,
Comparator,
Function и Stream API увидим, как писать короче и понятнее. Завершим разделом «Типичные ошибки» и советами, как их избегать.