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

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Методы 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() и нюансы параллельных потоков.
    Открыта
  • Методы groupingBy и partitioningBy (Collectors)

    JAVA 25 SELF
    31 уровень,2 лекция
    В этой лекции учимся группировать данные в потоках с помощью коллекторов Collectors.groupingBy и Collectors.partitioningBy: простая и вложенная группировка, разбиение по булевому признаку, выбор между ними, обработка результата и лайфхаки. На практических примерах со строками, числами и объектами увидите, как из потока ( Stream API) получить Map нужной структуры и как работать с функциями-признаками ( Function) и предикатами ( Predicate). В конце — разбор типичных ошибок.
    Открыта
  • Продвинутая агрегация: вложенные группировки

    JAVA 25 SELF
    31 уровень,3 лекция
    Практическое погружение во вложенные группировки с Stream-ами и коллекторами: как комбинировать Collectors.groupingBy с агрегаторами ( maxBy, averagingInt, counting), трансформировать данные с mapping, делить на подмножества через partitioningBy и корректно читать вложенные Map-структуры. Много наглядных примеров, визуализация структуры результатов и разбор типичных ошибок.
    Открыта
  • Продвинутые коллекторы

    JAVA 25 SELF
    31 уровень,4 лекция
    В лекции разбираем продвинутые приёмы коллекторами Stream API: вложенные downstream-коллекторы для groupingBy/ partitioningBy, преобразования с mapping, фильтрацию с filtering, «разворачивание» с flatMapping, одновременную агрегацию с teeing (Java 12+), а также «заморозку» коллекций через toUnmodifiableList/Set/Map и collectingAndThen. Показываем практические конвейеры и типичные ошибки.
    Открыта
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush