Курс на Stepik
Обложка курса «Java Stream API : тренажёр с нуля до уверенного уровня» на Stepik
850 ₽

Java Stream API : тренажёр с нуля до уверенного уровня 5.000

Открыть на
STEPIK.ORG

Stream API — одна из самых важных тем в Java, но многие разработчики используют его поверхностно или избегают из-за непонимания. В этом курсе вы разберётесь со Stream API от основ до продвинутых техник и научитесь писать чистый, лаконичный и профессиональный код. Через практические задачи и разборы вы поймёте, как правильно использовать stream, когда он упрощает код, а когда — наоборот. Курс построен как тренажёр: минимум воды, максимум практики и реальных сценариев.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Java Stream API : тренажёр с нуля до уверенного уровня»Учеников на курсе 42
Сертификаты, выданные на курсе «Java Stream API : тренажёр с нуля до уверенного уровня»Сертификатов выдано 0
Отзывы о курсе «Java Stream API : тренажёр с нуля до уверенного уровня»Отзывов получено 4
Рейтинг курса «Java Stream API : тренажёр с нуля до уверенного уровня»Рейтинг курса 5.000
Уроки в курсе «Java Stream API : тренажёр с нуля до уверенного уровня»Количество уроков 98
Тесты в курсе «Java Stream API : тренажёр с нуля до уверенного уровня»Количество квизов 658
Время прохождения курса «Java Stream API : тренажёр с нуля до уверенного уровня»Время прохождения курса
Стоимость курса «Java Stream API : тренажёр с нуля до уверенного уровня»Стоимость курса 850 ₽
Обновления курса «Java Stream API : тренажёр с нуля до уверенного уровня»Обновления курса
Дата публикации курса «Java Stream API : тренажёр с нуля до уверенного уровня»Дата публикации курса
Последнее обновление курса «Java Stream API : тренажёр с нуля до уверенного уровня»Последнее обновление
Сложность normal

Содержание курса

Разделы в курсе «Java Stream API : тренажёр с нуля до уверенного уровня» 15 разделов Уроки в курсе «Java Stream API : тренажёр с нуля до уверенного уровня» 98 уроков Тесты в курсе «Java Stream API : тренажёр с нуля до уверенного уровня» 658 тестов Время прохождения курса «Java Stream API : тренажёр с нуля до уверенного уровня» 26 ч. Последнее обновление курса «Java Stream API : тренажёр с нуля до уверенного уровня» обн. 19 июля 2026

Введение в Stream API

6 уроков
1. Что такое Stream
2. Чем stream отличается от коллекции
3. Как работает обработка данных через stream
4. Промежуточные и терминальные операции
5. Ленивые вычисления (Lazy Evaluation)
6. Когда stream удобен, а когда лучше использовать цикл

Создание стримов

6 уроков
1. Создание stream из коллекции и массива
2. Stream.of() и Stream.empty()
3. Числовые стримы: IntStream, LongStream, DoubleStream
4. Диапазоны чисел: range() и rangeClosed()
5. Бесконечные стримы: iterate() и generate()
6. Создание stream из файла

Базовые промежуточные операции

8 уроков
1. filter()
2. map()
3. mapToInt(), mapToLong(), mapToDouble()
4. sorted()
5. distinct()
6. limit()
7. skip()
8. peek()

Базовые терминальные операции

8 уроков
1. forEach()
2. toList()
3. collect()
4. count()
5. findFirst() и findAny()
6. anyMatch(), allMatch(), noneMatch()
7. min() и max()
8. reduce()

Числовые стримы и агрегирующие операции

7 уроков
1. Особенности IntStream, LongStream, DoubleStream
2. sum()
3. average()
4. min(), max()
5. Преобразование в примитивные стримы
6. boxed()
7. Подсчет сумм, средних значений и других числовых характеристик

Работа со строками и коллекциями через stream

6 уроков
1. Фильтрация строк
2. Преобразование строк
3. Сортировка строк
4. Удаление дубликатов
5. Обработка списков чисел
6. Комбинирование нескольких операций в одной цепочке

Вложенные структуры и flatMap()

6 уроков
1. Зачем нужен flatMap()
2. Разница между map() и flatMap()
3. Работа со списком списков
4. Разбиение строк на слова
5. Объединение вложенных коллекций
6. Практические задачи на flatMap()

Collectors

10 уроков
1. Что такое Collectors
2. Collectors.toList()
3. Collectors.toSet()
4. Collectors.joining()
5. Collectors.counting()
6. Collectors.summingInt()
7. Collectors.averagingInt()
8. Collectors.groupingBy()
9. Collectors.partitioningBy()
10. Collectors.mapping()

Работа со stream объектов

7 уроков
1. Обработка списков объектов
2. Фильтрация объектов по полям
3. Преобразование объектов
4. Сортировка объектов
5. Поиск максимального и минимального объекта
6. Группировка объектов
7. Агрегация данных по объектам

Optional и результаты стримов

6 уроков
1. Почему некоторые операции возвращают Optional
2. orElse()
3. orElseGet()
4. orElseThrow()
5. ifPresent()
6. Как безопасно работать с findFirst(), max(), min(), average()

Частые ошибки и подводные камни

6 уроков
1. Повторное использование stream
2. Изменение внешнего состояния внутри stream
3. Неправильное использование peek()
4. Слишком сложные цепочки операций
5. Ошибки при работе с Optional
6. Когда stream ухудшает читаемость

Параллельные стримы

5 уроков
1. Что такое parallelStream()
2. Чем параллельный stream отличается от обычного
3. Когда имеет смысл использовать parallelStream()
4. Ограничения и риски
5. Почему не стоит использовать parallel streams без необходимости

Streams vs циклы

5 уроков
1. Когда stream делает код лучше
2. Когда цикл проще и понятнее
3. Сравнение решений одной задачи двумя способами
4. Рефакторинг циклов в stream
5. Анализ читаемости и поддержки кода

Практика: задачи по возрастанию сложности

8 уроков
1. Простые задачи на filter, map, count
2. Задачи на сортировку, уникальность, ограничения
3. Задачи на поиск и проверки
4. Задачи на reduce
5. Задачи на flatMap
6. Задачи на Collectors
7. Задачи на объекты
8. Комбинированные задачи

Итоговый блок: Мини-проект на обработку данных

4 урока
1. Задание на проект
2. Мини-проект на обработку данных (Обзор задания)
3. Мини-проект на обработку данных (Домашнее задание)
4. Мини-проект на обработку данных (Разбор домашнего задания)