这书以案例方式撰写,包含Java 8和Java 9的新特点,并得出了70多个能够 用以具体开发设计的实例,致力于让用户把握怎样运用这种新特点来处理开发设计中碰到的各种各样难题。这书致力于让用户快速把握Java 8和Java 9有关特点,并得出了70多个能够 用以具体开发设计的实例,详细介绍了怎样运用这种新特点处理这种难题,进而以更大自然的方法让开发者把握Java。 这书合适Java开发者阅读文章。
[美]肯·寇森(Ken Kousen) 单独咨询师宁艺霏与培训师,Kousen IT公司总裁;对Spring、Hibernate、Groovy、Grails等語言和架构颇有科学研究;荣获2013年和2016年JavaOne Rock Star巨奖;大学毕业于MIT并获得了普林斯顿大学博士研究生。
目录
- 译者序 ix
- 序 xi
- 前言 xiii
- 第 1章 基础知识 1
- 1.1 lambda 表达式 2
- 1.2 方法引用 5
- 1.3 构造函数引用 8
- 1.4 函数式接口 12
- 1.5 接口中的默认方法 14
- 1.6 接口中的静态方法 17
- 第 2章 java.util.function 包 20
- 2.1 Consumer 接口 20
- 2.2 Supplier 接口 22
- 2.3 Predicate 接口 25
- 2.4 Function 接口 28
- 第3章 流式操作 31
- 3.1 流的创建 31
- 3.2 装箱流 35
- 3.3 利用reduce 方法实现归约操作 36
- 3.4 利用reduce 方法校验排序 44
- 3.5 利用peek 方法对流进行调试 45
- 3.6 字符串与流之间的转换 47
- 3.7 获取元素数量 50
- 3.8 汇总统计 52
- 3.9 查找流的第 一个元素 54
- 3.10 使用anyMatch、allMatch 与noneMatch 方法 58
- 3.11 使用flatMap 与map 方法 60
- 3.12 流的拼接 63
- 3.13 惰性流 66
- 第4章 比较器与收集器 69
- 4.1 利用比较器实现排序 69
- 4.2 将流转换为集合 72
- 4.3 将线性集合添加到映射 75
- 4.4 对映射排序 77
- 4.5 分区与分组 79
- 4.6 下游收集器 81
- 4.7 查找zui大值和zui小值 83
- 4.8 创建不可变集合 85
- 4.9 实现Collector 接口 87
- 第5章 流式操作、lambda 表达式与方法引用的相关问题 91
- 5.1 java.util.Objects 类 91
- 5.2 lambda 表达式与效果等同于final 的变量 93
- 5.3 随机数流 96
- 5.4 Map 接口的默认方法 97
- 5.5 默认方法冲突 101
- 5.6 集合与映射的迭代 103
- 5.7 利用Supplier 创建日志消息 105
- 5.8 闭包复合 107
- 5.9 利用提取的方法实现异常处理 110
- 5.10 受检异常与lambda 表达式 112
- 5.11 泛型异常包装器的应用 114
- 第6章 Optional 类 117
- 6.1 Optional 的创建 118
- 6.2 从Optional 中检索值 120
- 6.3 getter 和setter 方法中的Optional 122
- 6.4 Optional.flatMap 与Optional.map 方法 124
- 6.5 Optional 的映射 127
- 第7章 文件I/O 131
- 7.1 文件处理 132
- 7.2 以流的形式检索文件 134
- 7.3 文件系统的遍历 135
- 7.4 文件系统的搜索 137
- 第8章 java.time 包 139
- 8.1 Date-Time API 中的基本类 140
- 8.2 根据现有实例创建日期和时间 143
- 8.3 调节器与查询 147
- 8.4 将java.util.Date 转换为java.time.LocalDate 152
- 8.5 解析与格式化 155
- 8.6 查找具有非整数小时偏移量的时区 158
- 8.7 根据UTC 偏移量查找地区名 160
- 8.8 获取事件之间的时间 162
- 第9章 并行与并发 165
- 9.1 将顺序流转换为并行流 166
- 9.2 并行流的优点 169
- 9.3 调整线程池大小 173
- 9.4 Future 接口 175
- 9.5 完成CompletableFuture 178
- 9.6 多个CompletableFuture 之间的协调(第 1 部分) 181
- 9.7 多个CompletableFuture 之间的协调(第 2 部分) 186
- 第 10章 Java 9 新特性 193
- 10.1 Jigsaw 中的模块 194
- 10.2 接口中的私有方法 198
- 10.3 创建不可变集合 200
- 10.4 新增的Stream 方法 204
- 10.5 下游收集器:filtering 与flatMapping 207
- 10.6 新增的Optional 方法 210
- 10.7 日期范围 212
- 附录A 泛型与Java 8 215
- 作者简介 230
- 封面介绍 230