JavaRush
AI Academy
new
Акція
Університет
Java FullStack
Python FullStack
AI Native Developer
new
Навчання
Курси
Задачі
Опитування
Ігри
Допомога
Графік стусанів
Стажування
Спільнота
Користувачі
Форум
Чат
Статті
Історії успіху
Дії
Відгуки
Передплати
Світла тема

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Функціональні інтерфейси: Predicate, Consumer, Supplier, Function

    JAVA 25 SELF
    49 рівень, 0 лекція
    Розглядаємо ключові функціональні інтерфейси з пакета java.util.function: Predicate, Consumer, Supplier, Function — що вони приймають/повертають і де застосовуються у Stream API ( filter, map, forEach, generate). Пригадуємо правило «рівно один абстрактний метод» та анотацію @FunctionalInterface, пишемо лямбда-вирази, порівнюємо з анонімними класами, практикуємося на прикладі з класом User і розглядаємо типові помилки вибору між Predicate/ Function тощо.
    Відкрита
  • Композиція функцій: compose, andThen

    JAVA 25 SELF
    49 рівень, 1 лекція
    Ця лекція — про те, як складати конвеєри перетворень із малих функцій за допомогою Function і його методів compose та andThen. Розберемо порядок застосування, сумісність типів, приклади з Predicate ( and, or, negate), Consumer ( andThen), побудуємо практичні пайплайни й обговоримо типові помилки: переплутаний порядок ( f.compose(g) vs f.andThen(g)), несумісні типи та «локшина» з ланцюжків. Ви навчитеся застосовувати apply, test, accept і будувати читабельні, повторно використовувані перетворення.
    Відкрита
  • Передавання функцій як параметрів: приклади

    JAVA 25 SELF
    49 рівень, 2 лекція
    Практичний вступ до передавання поведінки в Java: як використовувати лямбда-вирази ( ->) і посилання на методи ( ::) разом зі Stream API і колекціями. Розберемо стандартні функціональні інтерфейси з java.util.function — Comparator, Predicate, Function, Consumer, Supplier — навчимося писати універсальні методи, приймати поведінку як параметри та уникати типових помилок. Потренуємося на прикладах зі Stream, Optional і власних утилітах обробки списків.
    Відкрита
  • Функціональний стиль зі Stream API

    JAVA 25 SELF
    49 рівень, 3 лекція
    Переходимо від імперативних циклів до декларативних конвеєрів обробки даних зі Stream API: розбираємо проміжні й термінальні операції, лінивість обчислень, збирання результатів через toList()/ collect, ключові операції map, filter, sorted, flatMap, reduce, а також перевірки anyMatch/ allMatch/ noneMatch. Порівняємо імперативний і функціональний стиль, розглянемо практичні приклади та типові помилки, зокрема недоречний forEach під час збирання колекцій і передчасний parallelStream().
    Відкрита
  • Розбір помилок у функціональному програмуванні

    JAVA 25 SELF
    49 рівень, 4 лекція
    10 найпоширеніших помилок під час роботи з лямбда‑виразами та Stream API у Java: захоплення змінних ( final/ effectively final), поведінка this у лямбда‑виразах, побічні ефекти та паралелізм ( parallelStream()), виведення типів і generics, робота з null та Optional, композиція функцій ( compose/ andThen), а також checked‑винятки (наприклад, IOException). Показуємо безпечні прийоми: фільтрація Objects::nonNull, термінальні операції ( sum(), collect(...)), потокобезпечні колекції та декомпозиція довгих ланцюжків.
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush