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

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • fold і reduce: старт, порожні колекції та безпечні варіанти

    Kotlin SELF
    25 рівень, 0 лекція
    Розбираємо агрегації колекцій у Kotlin: як працюють fold() і reduce(), що таке акумулятор acc, чому стартове значення ( initial) критично важливе для коректності, чим небезпечні порожні списки для reduce() і коли варто обирати безпечний варіант reduceOrNull(). А ще — практичні приклади (сума, добуток, максимум) і типові помилки.
    Відкрита
  • Агрегації через fold: суми, мінімуми та збирання структур

    Kotlin SELF
    25 рівень, 1 лекція
    Розбираємо fold як універсальний прийом агрегації «багато елементів → один результат»: як обирати нейтральний initial, як рахувати суми й кількість, як акуратно знаходити мінімум/максимум із підтримкою порожніх колекцій через null, як збирати звіт за допомогою StringBuilder і накопичувати дані в Map. Наприкінці — список типових помилок і поради, як їх уникати.
    Відкрита
  • Sequence: лінивість і термінальні операції

    Kotlin SELF
    25 рівень, 2 лекція
    Розбираємося, як працює Sequence у Kotlin: чому ланцюжки filter/ map «нічого не роблять» без термінальної операції; чим проміжні операції відрізняються від термінальних; як asSequence() переводить колекції в лінивий режим; коли потрібна матеріалізація через toList(); і чому ранні операції на кшталт firstOrNull() можуть зупинити конвеєр ще до того, як він дійде до кінця.
    Відкрита
  • Продуктивність пайплайнів

    Kotlin SELF
    25 рівень, 3 лекція
    Розбираємося, як «читати за вартістю» ланцюжки операцій над колекціями: зайві проходи, проміжні списки й тимчасові обʼєкти. Вчимося розуміти, коли List-пайплайн матеріалізує результат на кожному кроці, чим відрізняється лінивий Sequence, чому take(n) дає раннє завершення та які помилки найчастіше трапляються під час спроб «прискорити» ланцюжки map/ filter/ fold.
    Відкрита
  • ArrayDeque: черга й стек «із коробки», базові операції та пастки

    Kotlin SELF
    25 рівень, 4 лекція
    Розбираємо ArrayDeque у Kotlin як «двосторонню чергу». Пояснюємо, чим вона краща (і чесніша за змістом) за MutableList для сценаріїв FIFO/LIFO; які є базові операції ( addFirst/ addLast, removeFirst/ removeLast, first()/ last()); як не «падати» під час видалення з порожньої структури завдяки isEmpty()/ isNotEmpty(); і як використати дек у CLI для історії додавань та команди undo. Наприкінці — типові помилки й ментальні перевірки, щоб не сплутати чергу зі стеком.
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush