JavaRush
AI Academy
new
Акція
Університет
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 і некоректні компаратори.
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush