JavaRush
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Set: HashSet и TreeSet, уникальность элементов

    JAVA 25 SELF
    26 уровень,3 лекция
    В этой лекции разбираем интерфейс Set в Java: чем он отличается от List, как обеспечивается уникальность элементов, как работают реализации HashSet (быстро, без порядка) и TreeSet (отсортировано), когда какую структуру выбирать. Рассмотрим важные нюансы про equals() и hashCode(), работу с null, примеры типовых задач (удаление дубликатов, проверка уникальности) и частые ошибки.
    Открыта
  • Generics: зачем нужны, базовый синтаксис

    JAVA 25 SELF
    26 уровень,4 лекция
    Переходим от «сырых» коллекций к типобезопасному коду. В лекции разбираем, почему до появления обобщений коллекции на базе Object приводили к рантайм-ошибкам ( ClassCastException), как generics решают это на этапе компиляции, как читать и писать конструкции вроде List<String>, Map<String, Integer>, что такое «даймонд-оператор» <> и зачем нужно стирание типов (type erasure). Плюс примеры с собственными обобщёнными классами и разбор типичных ошибок.
    Открыта
  • Интерфейсы Collection, List, Set, Map: иерархия

    JAVA 25 SELF
    27 уровень,0 лекция
    Разбираем основу коллекций Java: интерфейс Collection и его ветки List, Set, Queue/ Deque, а также отдельную иерархию Map. Узнаете, почему Map не наследует Collection, как выглядит иерархия, чем отличаются реализации, какие методы ключевые и когда что выбирать. В конце — типичные ошибки и как их избежать.
    Открыта
  • Iterable и Iterator: перебор коллекций

    JAVA 25 SELF
    27 уровень,1 лекция
    В лекции разбираем, как работать с интерфейсами Iterable и Iterator: что делает метод iterator(), как «за кулисами» устроен цикл for-each, когда и зачем вручную использовать hasNext() и next(), как безопасно удалять элементы через remove() без ConcurrentModificationException, а также как корректно перебирать Map с помощью keySet(), values() и entrySet(). Много практических примеров и частые ошибки для закрепления.
    Открыта
  • Queue, Deque, Stack: работа с очередями и стеками

    JAVA 25 SELF
    27 уровень,2 лекция
    В этой лекции разбираем очереди и стеки в Java: как работает принцип FIFO и LIFO, чем отличаются Queue, Deque и Stack, зачем в современных проектах выбирать ArrayDeque, и как безопасно пользоваться методами offer/ poll/ peek и push/ pop/ peek. Покажем примеры с LinkedList, PriorityQueue, мини-приложения печати и undo-стека, а также разберём типичные ошибки.
    Открыта
  • NavigableSet/NavigableMap

    JAVA 25 SELF
    27 уровень,3 лекция
    В этой лекции разбираем упорядоченные и навигируемые коллекции Java: NavigableSet и NavigableMap. На практике посмотрим, как работать с диапазонами через subSet/ headSet/ tailSet, искать «ближайшие» элементы с помощью lower, floor, ceiling, higher и управлять краями через pollFirst/ pollLast. Разберём обратные представления descendingSet/ descendingMap, «живые» view и типичные кейсы (расписания, приоритеты, шкалы). В качестве реализаций используем TreeSet и TreeMap.
    Открыта
  • Generics wildcards

    JAVA 25 SELF
    27 уровень,4 лекция
    В этой лекции разбираем инвариантность обобщений в Java, границы параметров типов ( extends/ super), подстановочные типы ? и правило PECS («Producer Extends, Consumer Super»). Рассмотрим, как писать универсальные методы с wildcard'ами, как работает стирание типов (type erasure), ограничения при использовании instanceof и массивов, а также практику с коллекциями и Stream API. В конце — частые ошибки и как их избежать.
    Открыта
  • Фильтрация элементов коллекций

    JAVA 25 SELF
    28 уровень,0 лекция
    В этой лекции разбираем практику фильтрации коллекций в Java: императивный подход через цикл for, безопасное удаление во время итерации с помощью Iterator и метода remove(), а также современное и лаконичное решение removeIf (Java 8+). Обсудим, почему возникает ConcurrentModificationException, когда стоит создавать новый список, и какие типичные ошибки чаще всего встречаются при формулировке условий фильтрации.
    Открыта
  • Преобразование коллекций

    JAVA 25 SELF
    28 уровень,1 лекция
    В лекции разбираем, как императивно выполнять преобразование коллекций: из List<String> получать List<Integer> (например, длины строк), как извлекать поля из объектов доменной модели ( Product → имя/цена), как «расплющивать» вложенные коллекции через addAll() или вложенные циклы, а также как комбинировать фильтрацию с трансформацией с помощью if и методов вроде startsWith. В конце рассмотрим типичные ошибки: изменение исходной коллекции, неверное приведение типов ( ClassCastException) и вопросы эффективности.
    Открыта
  • Безопасное удаление элементов

    JAVA 25 SELF
    28 уровень,2 лекция
    На практике удаление элементов из коллекций часто приводит к ConcurrentModificationException. В лекции разберём, почему это случается при обходе через for-each, как безопасно удалять элементы с помощью Iterator.remove(), чем полезен ListIterator, когда выбирать removeIf (Java 8+) и как корректно работать с Map. В конце — практические советы и типичные ошибки.
    Открыта
  • EnumSet/EnumMap

    JAVA 25 SELF
    28 уровень,3 лекция
    В этой лекции разбираем специализированные коллекции для перечислений — EnumSet и EnumMap из пакета java.util: как они устроены внутри (битовые маски и индексация по ordinal), чем они быстрее и компактнее HashSet/ HashMap, где применять (флаги, таблицы соответствий, конечные автоматы), какие подводные камни связаны с изменением enum и сериализацией, а также набор best practices и типичных ошибок с наглядными примерами кода.
    Открыта
  • LinkedHashSet/LinkedHashMap

    JAVA 25 SELF
    28 уровень,4 лекция
    В этой лекции разбираем коллекции с запоминаемым порядком: LinkedHashSet и LinkedHashMap. Вы узнаете, как они поддерживают порядок вставки и порядок доступа, как за пару строк построить LRU-кэш через переопределение removeEldestEntry, каковы издержки по памяти и скорости по сравнению с HashSet/ HashMap, когда нужен детерминированный порядок для стабильных тестов и отчётов, а также чем для очередей/стеков лучше ArrayDeque по сравнению с LinkedList. В конце — типичные ошибки и как их избегать.
    Открыта
  • 1
  • ...
  • 12
  • 13
  • 14
  • 15
  • 16
  • ...
  • 57
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush