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

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Використання лямбд у колекціях і стрімах

    JAVA 25 SELF
    48 рівень, 1 лекція
    Практика лямбда-виразів у колекціях і Stream API: як замінити анонімні класи компактними лямбдами, користуватися методами колекцій ( forEach, removeIf, sort, replaceAll) і будувати конвеєри обробки даних ( stream → filter → map → sorted → collect). Порівняємо з анонімними класами, обговоримо «ефективно final» змінні, наведемо таблицю основних операцій і розберемо типові помилки.
    Відкрита
  • Переваги та недоліки лямбда-виразів

    JAVA 25 SELF
    48 рівень, 2 лекція
    У лекції розглядаємо, навіщо Java отримала лямбда-вирази: лаконічність і читабельність, передача поведінки як параметра, інтеграція з колекціями та Stream API ( filter, map, forEach), захоплення «ефективно» final змінних і зручний запис зворотних викликів через оператор ->. Паралельно розглянемо підводні камені: налагодження довгих ланцюжків, неоднозначність перевантажень ( Runnable vs Callable), обмеження замикань, серіалізацію та вкладені лямбди. Наприкінці — практичні рекомендації, коли використовувати лямбди, та розбір типових помилок.
    Відкрита
  • Замикання (closures) у Java: особливості

    JAVA 25 SELF
    48 рівень, 3 лекція
    У лекції розглядаємо, що таке замикання і як воно працює у Java: як лямбди та анонімні класи «захоплюють» зовнішні змінні, чому локальні змінні мають бути final або ефективно final, чим захоплення локальних змінних відрізняється від звернення до полів класу та як поводиться this у лямбдах та анонімних класах. Покажемо фабрики функцій з IntSupplier, розглянемо внутрішню реалізацію захоплення і типові помилки (наприклад, повідомлення компілятора Variable used in lambda expression should be final or effectively final).
    Відкрита
  • Анонімні класи: відмінність від лямбда-виразів, приклади

    JAVA 25 SELF
    48 рівень, 4 лекція
    У лекції розбираємо, що таке анонімний клас у Java, чим він відрізняється від лямбда-виразу: синтаксис, можливості (поля, додаткові методи, перевизначення toString/ equals), область видимості та поведінка this, захоплення змінних (лише final/«ефективно final»). Показано практичні приклади з Runnable, Comparator, Predicate, а також рекомендації — коли обирати лямбду, а коли анонімний клас.
    Відкрита
  • Функціональні інтерфейси: 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(...)), потокобезпечні колекції та декомпозиція довгих ланцюжків.
    Відкрита
  • Слухачі (Listeners) та інтерфейси подій

    JAVA 25 SELF
    50 рівень, 0 лекція
    Як у Java влаштована подійна модель: джерело генерує подію, а підписані слухачі отримують сповіщення і реагують. Розберемо ключові інтерфейси слухачів із Swing — ActionListener, MouseListener, KeyListener, ChangeListener, DocumentListener — і покажемо, як реєструвати обробники через addActionListener та реалізовувати метод actionPerformed. Потренуємося підключати слухачів до JButton/ JFrame, порівняємо анонімні класи та лямбда-вирази, обговоримо типові помилки і практичні поради.
    Відкрита
  • Події в Swing і AWT: основи, приклади

    JAVA 25 SELF
    50 рівень, 1 лекція
    Короткий практичний вступ до моделі подій AWT/ Swing: створюємо кнопку JButton, підписуємо слухача через addActionListener, обробляємо в actionPerformed. Розбираємо анонімні класи та лямбда-вирази, а також популярних слухачів ( MouseListener/ MouseAdapter, KeyAdapter, DocumentListener), пишемо міні‑застосунок на базі JFrame, JButton, JLabel, розглядаємо послідовність викликів і типові помилки (тривала робота в обробнику, фінальність змінних у лямбдах, забутий виклик addActionListener, видалення слухачів, використання SwingWorker).
    Відкрита
  • Створення та обробка власних подій

    JAVA 25 SELF
    50 рівень, 2 лекція
    У лекції розбираємо, як спроєктувати власні події в Java: створюємо клас події на базі java.util.EventObject, описуємо інтерфейс слухача через java.util.EventListener, додаємо механізм підписки/відписки ( add...Listener/ remove...Listener) та сповіщення ( fire...). Подивимося практику на прикладах DataLoader і лічильника, обговоримо обробники на анонімних класах і лямбда-виразах, а також розберемо типові помилки (винятки у слухачах, витоки пам’яті, ConcurrentModificationException).
    Відкрита
  • 1
  • ...
  • 21
  • 22
  • 23
  • 24
  • 25
  • ...
  • 57
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2025 JavaRush
MastercardVisa
Програмістами не народжуються © 2025 JavaRush