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

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • == vs === і модель «значення vs посилання»

    Kotlin SELF
    23 рівень, 0 лекція
    Розбираємо два види рівності в Kotlin: структурне порівняння через == (за значенням, через equals і безпечно для null) та посилальне порівняння через === (ідентичність обʼєкта). Обговорюємо aliasing у колекціях, чому val не робить обʼєкт незмінним, пастку === на nullable-числах ( Int?), а також практичні прийоми на кшталт копіювання списку через toList() для «знімка» даних.
    Відкрита
  • Базові сортування списків — sorted() / sortedDescending()

    Kotlin SELF
    23 рівень, 1 лекція
    Розбираємо базове сортування списків у Kotlin без мутацій: як працюють sorted() і sortedDescending(), що таке «природний порядок» і до чого тут Comparable, чому важливо не псувати вихідні дані та як застосувати сортування в мініпроєкті ExpensePocket. Наприкінці — розбір типових помилок (втрачений результат, плутанина «сортування vs розворот», зайве сортування заради max/min).
    Відкрита
  • Сортування за ключем і кількома критеріями в Kotlin

    Kotlin SELF
    23 рівень, 2 лекція
    Розбираємо сортування колекцій у Kotlin «за ключем» через sortedBy і sortedByDescending, збираємо патерн top‑N як sortedByDescending(...) + take( n), а також учимося сортувати за кількома критеріями за допомогою sortedWith і compareBy. Попутно закріплюємо різницю між «елементом» і «ключем сортування» та розбираємо типові помилки (наприклад, take без сортування).
    Відкрита
  • Nullable у сортуванні: значення за замовчуванням, розбиття та зрозуміле правило для null

    Kotlin SELF
    23 рівень, 3 лекція
    Розбираємося, як сортувати колекції в Kotlin, коли ключ може бути null: навіщо сортуванню потрібен явний контракт « null на початку / у кінці», як використовувати Elvis-оператор ?: із безпечними значеннями за замовчуванням ( sortedBy, sortedByDescending), чому «магічні числа» на кшталт Int . MAX_VALUE можуть бути небезпечними, і коли краще застосувати розбиття даних ( filterNotNull(), підрахунок null, split + merge). Усе — на прикладі звіту про витрати в умовному застосунку BudgetBuddy.
    Відкрита
  • Порівняння масивів: чому == не підходить і коли потрібен contentDeepEquals

    Kotlin SELF
    23 рівень, 4 лекція
    Розбираємося, чому масиви в Kotlin/JVM не порівнюються поелементно через ==, чим відрізняються == і ===, а також які функції використовувати для коректного порівняння даних: contentEquals() — для одновимірних масивів і contentDeepEquals() — для вкладених. Окремо обговоримо пастку аліасингу (aliasing: «до/після» без копії) та практичні способи діагностики за допомогою joinToString() і contentDeepToString().
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush