Java с нуля: JDK, коллекции и Stream API
Десять уроков Java на JDK 25: запуск программ, типы и ссылки, коллекции, NullPointerException, generics, строки Unicode и задачи со Stream API.
Материалы раздела
- JDK, JRE и JVM: как компилятор превращает Java-код в программу — JDK нужен, чтобы писать и собирать Java-программы, а JVM выполняет их байткод. JRE обозначает среду выполнения: виртуальную машину вместе с библиотеками и необходимыми файлами.
- Установка Java и jvm.dll: диагностика JDK, PATH и среды IDE — Ошибка jvm.dll появляется на этапе загрузки среды выполнения, ещё до обычной логики Java-программы. Прежде чем менять проект, нужно установить, какой launcher запущен, какой…
- Типы, классы и ссылки Java: от переменной к контракту объекта — Перед коллекциями и Stream API нужно различать значение переменной, ссылку на объект и действие метода. Иначе изменение общего списка кажется случайным, а null ошибочно…
- Java Collections Framework: иерархия, порядок и выбор контейнера — Java Collections Framework — семейство интерфейсов и реализаций для хранения и обработки групп объектов. Чтобы выбрать контейнер, сначала решите, нужны ли повторения, индексы,…
- Map.get возвращает null: почему падает addAll и как исправить контракт — Сообщение Cannot invoke "java.util.List.addAll(java.util.Collection)" because the return value of "java.util.Map.get(Object)" is null указывает на конкретное звено выражения: Map…
- Generics и коллекции Java: extends, super, ключи и неизменяемость — Generics позволяют компилятору проверить, какие элементы проходят через коллекцию. Но параметр List<String> не отвечает на вопросы о допустимости null, возможности изменения и…
- Stream API в Java: ленивый конвейер, завершение и повторный запуск — Stream API описывает преобразование последовательности элементов: откуда их получить, какие оставить, во что превратить и как завершить вычисление.
- Строки и Stream API: split, chars, codePoints и границы Unicode — Чтобы обработать строку через Stream API, сначала выберите единицу обработки. Строки файла, поля записи, UTF-16-единицы и Unicode code points — разные последовательности.
- Stream API: filter, reduce, groupingBy и построение отчётов — После фильтрации и преобразования stream нужно превратить в полезный результат: сумму, таблицу по группам, список или ответ на условие.
- Практика Stream API: отчёт по заказам и шпаргалка выбора операций — Соберём отчёт по заказам: исключим возвраты, посчитаем выручку по категориям, отсортируем категории и проверим результат на нескольких наборах.