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

Лекції

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

    JAVA 25 SELF
    29 рівень, 0 лекція
    У цій лекції розберемося, як правильно визначати рівність обʼєктів у Java: чим відрізняється порівняння посилань оператором == від порівняння вмісту методом equals, чому контракт equals/ hashCode критичний для колекцій на кшталт HashSet і HashMap, і як узгодити це з compareTo інтерфейсу Comparable. Покрокові приклади, найкращі практики та розбір типових помилок допоможуть уникнути пасток під час роботи з хеш-таблицями та впорядкованими колекціями.
    Відкрита
  • Клас Objects: методи equals, hashCode, hash

    JAVA 25 SELF
    29 рівень, 1 лекція
    У цій лекції розбираємо «швейцарський ніж» java.util.Objects: як безпечно порівнювати за допомогою Objects.equals, лаконічно обчислювати хеші з Objects.hash, делегувати порівняння через Objects.compare, гарантувати не- null значення за допомогою Objects.requireNonNull, а також застосовувати Objects.isNull/ Objects.nonNull у потоках. Покажемо коректну реалізацію equals/ hashCode/ compareTo, розберемо практичні приклади та типові помилки під час роботи з HashMap/ HashSet.
    Відкрита
  • Інтерфейс Comparable: реалізація та compareTo

    JAVA 25 SELF
    29 рівень, 2 лекція
    У цій лекції розглянемо природний порядок об’єктів у Java через інтерфейс Comparable і метод compareTo: навіщо вони потрібні, як їх правильно реалізувати, як працює сортування колекцій ( Collections.sort і List.sort), порівняння за кількома полями, оброблення значень null і узгодженість із equals/ hashCode. Розглянемо найкращі практики, типові помилки та практичні приклади з класом Person.
    Відкрита
  • Інтерфейс Comparator: створення та використання

    JAVA 25 SELF
    29 рівень, 3 лекція
    У лекції розглянемо, коли використовувати Comparator замість Comparable, синтаксис і контракт методу compare(T o1, T o2), практику сортування списків за допомогою Collections.sort і List.sort, створення компараторів як окремими класами, так і через анонімні класи та лямбда-вирази. Розглянемо багаторівневе сортування, роботу з null-значеннями, пошук через Collections.binarySearch, інверсію порядку з reversed(), а також найкращі практики та типові помилки (наприклад, чому краще використовувати Integer.compare, а не a - b).
    Відкрита
  • Пошук і сортування елементів у колекціях Java

    JAVA 25 SELF
    29 рівень, 4 лекція
    У цій лекції розглянемо практичні прийоми роботи з колекціями. Дізнаєтеся, як шукати елементи за допомогою методів contains, indexOf і lastIndexOf; як виконувати пошук за умовою через цикл for з оператором break; як знаходити мінімум і максимум за допомогою класу Collections. Потренуємося сортувати списки методами Collections.sort і List.sort, використовувати Comparator, упорядковувати пари з Map, а також обʼєкти за полем. Наприкінці обговоримо типові помилки: незмінні списки з List.of, спроби сортувати Set/ Map і некоректні компаратори.
    Відкрита
  • Вступ до Stream API: навіщо потрібні потоки

    JAVA 25 SELF
    30 рівень, 0 лекція
    У цій лекції розглянемо, чому імперативний підхід до обробки колекцій швидко обростає шаблонним кодом, і як Stream API дає змогу писати код у декларативному стилі: ланцюжки операцій filter, map, collect, проста композиція, менше помилок і легкий паралелізм через parallelStream(). Покажемо приклади застосування, коротку історію появи та типові помилки, яких варто уникати.
    Відкрита
  • Базові операції Stream API: map, filter, collect

    JAVA 25 SELF
    30 рівень, 1 лекція
    Покрокове знайомство з базовими операціями Stream API: як отримати потік із колекції та масиву ( stream(), Arrays.stream, Stream.of), чим відрізняються проміжні операції ( filter, map, distinct) від термінальних ( collect, forEach, count), та як збирати результати за допомогою Collectors ( toList, toSet, joining). Практичні приклади, міні‑завдання та розділ із типовими помилками допоможуть швидко опанувати конвеєрну обробку даних.
    Відкрита
  • Підмножини Stream API: distinct, limit, skip

    JAVA 25 SELF
    30 рівень, 2 лекція
    У цій лекції розглянемо три ключові операції Stream API для роботи з підмножинами даних: distinct (видалення дублікатів), limit (обмеження кількості елементів) і skip (пропуск перших елементів). Ви побачите, як вони працюють із колекціями рядків і об’єктів; як перевизначення equals/ hashCode впливає на результат distinct; як комбінувати операції для посторінкової навігації та відбору топ‑N; а також які помилки трапляються найчастіше.
    Відкрита
  • Методи forEach і peek: побічні дії

    JAVA 25 SELF
    30 рівень, 3 лекція
    У лекції розглянемо операції потоків для побічних дій: термінальну forEach і проміжну peek. З’ясуємо, коли й навіщо їх використовувати, чим вони відрізняються, чому після forEach потік «закривається», тоді як peek не змінює дані й виконується лише за наявності термінальної операції. Покажемо практичні приклади, розберемо неочевидні моменти та типові помилки (зокрема ConcurrentModificationException і неправильну заміну collect на forEach).
    Відкрита
  • Перетворення колекцій через Stream

    JAVA 25 SELF
    30 рівень, 4 лекція
    Практичний посібник із перетворення колекцій за допомогою Stream API: перетворення List ↔ Set, побудова мап через Collectors.toMap() (включно з обробкою дублікатів), обʼєднання у рядок за допомогою Collectors.joining(), розгляд термінальних і проміжних операцій ( forEach, collect, count, anyMatch тощо). Усередині — зрозумілі приклади, пояснення та типові помилки.
    Відкрита
  • Методи sum, count, average, max, min у Stream API

    JAVA 25 SELF
    31 рівень, 0 лекція
    У цій лекції розбираємо агрегаційні операції 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. Наприкінці — розбір типових помилок і нюансів.
    Відкрита
  • Методи reduce і collect: агрегування даних

    JAVA 25 SELF
    31 рівень, 1 лекція
    Розбираємо термінальні операції потоків: універсальну згортку reduce() і потужний метод збирання collect(). Розглянемо сигнатури з identity, accumulator і combiner, навчимося збирати дані готовими колекторами з Collectors ( toList(), toMap(), joining(), groupingBy()) і подивимось, де варто надавати перевагу collect() замість reduce(). Окремо обговоримо роботу з Optional, обробку дублікатів у toMap() та нюанси паралельних потоків.
    Відкрита
  • 1
  • ...
  • 13
  • 14
  • 15
  • 16
  • 17
  • ...
  • 57
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush