Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 639176)
Контекстум
Руконтекст антиплагиат

Современный Java: рецепты программирования. Простые решения трудных задач на Java 8 и 9 (1500,00 руб.)

0   0
Первый авторКоузен
ИздательствоМ.: ДМК Пресс
Страниц275
ID795334
АннотацияЭта книга представляет собой рецепты программирования на языке Java, описывающие нововведения версий 8 и 9. В книге вы найдете массу примеров кода, демонстрирующих почти все обсуждаемые языковые и библиотечные средства. Эти примеры намеренно сделаны как можно более простыми, чтобы сосредоточиться на основных отличительных моментах. Все они могут послужить вам неплохой отправной точкой для разработки собственного кода. Издание будет полезно опытным программистам, уже работающим на Java.
ISBN978-5-97060-134-1
УДК004.438Java
ББК32.973.2-018.2
Коузен, К. Современный Java: рецепты программирования. Простые решения трудных задач на Java 8 и 9 / К. Коузен .— Москва : ДМК Пресс, 2018 .— 275 с. — ISBN 978-5-97060-134-1 .— URL: https://rucont.ru/efd/795334 (дата обращения: 19.06.2024)

Предпросмотр (выдержки из произведения)

Современный_Java_рецепты_программирования._Простые_решения_трудных_задач_на_Java_8_и_9.pdf
УДК 004.438Java ББК 32.973.2-018.2 К78 К78 Современный Java: рецепты программирования / пер. с анг. А. А. Слинкина. – М.: ДМК Пресс, 2018. – 274 с.: ил. Коузен К. ISBN 978-5-97060-134-1 Эта книга представляет собой рецепты программирования на языке Java, описывающие нововведения версий 8 и 9. В книге вы найдете массу примеров кода, демонстрирующих почти все обсуждаемые языковые и библиотечные средства. Эти примеры намеренно сделаны как можно более простыми, чтобы сосредоточиться на основных отличительных моментах. Все они могут послужить вам неплохой отправной точкой для разработки собственного кода. Издание будет полезно опытным программистам, уже работающим на Java. УДК 004.438Java ББК 32.973.2-018.2 Authorized Russian translation of the English edition of Modern Java Recipes ISBN 9781491973172 © 2017 Ken Kousen. This translation is published and sold by permission of O'Reilly Media, Inc., which owns or controls all rights to publish and sell the same. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-491-97317-2 (анг.) ISBN 978-5-97060-134-1 (рус.) © Оформление, издание, перевод, ДМК Пресс, 2018 Copyright © 2017 Ken Kousen
Стр.5
Содержание Предисловие ........................................................................................................9 Вступление ..........................................................................................................11 Глава 1. Основные понятия .............................................................................18 1.1. Лямбда-выражения ........................................................................................19 1.2. Ссылки на методы ..........................................................................................22 1.3. Ссылки на конструкторы ...............................................................................26 1.4. Функциональные интерфейсы ......................................................................30 1.5. Методы по умолчанию в интерфейсах .........................................................33 1.6. Статические методы в интерфейсах .............................................................36 Глава 2. Пакет java.util.function .....................................................................39 2.1. Потребители ...................................................................................................39 2.2. Поставщики ....................................................................................................42 2.3. Предикаты ......................................................................................................44 2.4. Функции ..........................................................................................................48 Глава 3. Потоки ..................................................................................................51 3.1. Создание потоков...........................................................................................51 3.2. Обернутые потоки .........................................................................................55 3.3. Операции редукции .......................................................................................57 3.4. Проверка правильности сортировки с помощью редукции .......................65 3.5. Отладка потоков с помощью peek ................................................................66 3.6. Преобразование строк в потоки и наоборот ................................................69 3.7. Подсчет элементов .........................................................................................72 3.8. Сводные статистики ......................................................................................73 3.9. Нахождение первого элемента в потоке ......................................................76 3.10. Методы anyMatch, allMatch и noneMatch ...................................................81 3.11. Методы flatMap и map ..................................................................................83 3.12. Конкатенация потоков .................................................................................85 3.13. Ленивые потоки ...........................................................................................89
Стр.7
Содержание  7 Глава 4. Компараторы и коллекторы ...........................................................91 4.1. Сортировка с помощью компаратора...........................................................91 4.2. Преобразование потока в коллекцию ..........................................................95 4.3. Добавление линейной коллекции в отображение .......................................97 4.4. Сортировка отображений ..............................................................................99 4.5. Разбиение и группировка ............................................................................102 4.6. Подчиненные коллекторы ...........................................................................104 4.7. Нахождение минимального и максимального значений ..........................106 4.8. Создание неизменяемых коллекций ..........................................................109 4.9. Реализация интерфейса Collector ...............................................................111 Глава 5. Применение потоков, лямбда-выражений и ссылок на методы ........................................................................................115 5.1. Класс java.util.Objects ...................................................................................115 5.2. Лямбда-выражения и эффективная финальность .....................................117 5.3. Потоки случайных чисел .............................................................................120 5.4. Методы по умолчанию интерфейса Map ....................................................122 5.5. Конфликт между методами по умолчанию ................................................126 5.6. Обход коллекций и отображений ...............................................................128 5.7. Протоколирование с помощью Supplier .....................................................130 5.8. Композиция замыканий ..............................................................................132 5.9. Применение вынесенного метода для обработки исключений ...............135 5.10. Контролируемые исключения и лямбда-выражения ..............................138 5.11. Использование универсальной обертки исключений .............................141 Глава 6. Тип Optional .......................................................................................143 6.1. Создание Optional ........................................................................................143 6.2. Извлечение значения из Optional ...............................................................146 6.3. Optional в методах чтения и установки ......................................................149 6.4. Методы flatMap и map класса Optional .......................................................150 6.5. Отображение объектов Optional .................................................................154 Глава 7. Файловый ввод-вывод ...................................................................157 7.1. Обработка файлов ........................................................................................158 7.2. Получение файлов в виде потока ................................................................160 7.3. Обход файловой системы ............................................................................161 7.4. Поиск в файловой системе ..........................................................................163
Стр.8
8  Содержание Глава 8. Пакет java.time .................................................................................165 8.1. Основные классы для работы с датами и временем .................................166 8.2. Создание даты и времени на основе существующих экземпляров .........169 8.3. Корректоры и запросы .................................................................................173 8.4. Преобразование java.util.Date в java.time.LocalDate .................................178 8.5. Разбор и форматирование ...........................................................................182 8.6. Нахождение часовых поясов с необычным смещением ...........................185 8.7. Нахождение названий регионов по смещению .........................................187 8.8. Время между событиями .............................................................................189 Глава 9. Параллелизм и конкурентность ...................................................192 9.1. Преобразование последовательного потока в параллельный ..................193 9.2. Когда распараллеливание помогает ...........................................................196 9.3. Изменение размера пула .............................................................................201 9.4. Интерфейс Future .........................................................................................203 9.5. Завершение CompletableFuture ...................................................................206 9.6. Координация нескольких CompletableFuture, часть 1 ...............................210 9.7. Координация нескольких CompletableFuture, часть 2................................215 Глава 10. Нововведения в Java 9 ................................................................222 10.1. Модули в проекте Jigsaw ............................................................................223 10.2. Закрытые методы в интерфейсах .............................................................227 10.3. Создание неизменяемых коллекций ........................................................229 10.4. Интерфейс Stream: ofNullable, iterate, takeWhile и dropWhile.................233 10.5. Подчиненные коллекторы: filtering и flatMapping ...................................236 10.6. Класс Optional: методы stream, or, ifPresentOrElse ..................................240 10.7. Диапазоны дат ............................................................................................243 Приложение А. Универсальные типы и Java 8 .........................................246 Общие сведения ..................................................................................................246 Что знает каждый ...............................................................................................246 Чего некоторые разработчики не осознают .....................................................249 Метатипы и PECS ................................................................................................250 Примеры из Java 8 API ........................................................................................255 Резюме .................................................................................................................262 Предметный указатель ..................................................................................263 Об авторе ..........................................................................................................272 Об иллюстрации на обложке .......................................................................273
Стр.9

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст