Java SE 8精华速览:Lambda表达式与Stream API实战

需积分: 10 3 下载量 55 浏览量 更新于2024-07-19 收藏 39.22MB PDF 举报
"《写给大忙人看的Java SE 8》是一本面向Java开发者的速成指南,详尽介绍了Java 8的新特性和部分Java 7的重要特性。本书以简洁明快的风格,帮助忙碌的程序员快速掌握Java SE 8的核心知识。 在Java 8中,最重要的变化之一是引入了lambda表达式。Lambda允许开发者以更简洁的方式表示匿名函数,减少了代码的冗余。第1章深入讲解了lambda表达式的语法、函数式接口、方法引用和构造器引用,以及它们在变量作用域、默认方法和静态方法中的应用。 Stream API是Java 8的另一大亮点,它提供了对集合数据的高效处理方式。第2章介绍了从迭代器到Stream操作的转变,涵盖了创建Stream、各种转换操作(如filter、map和flatMap)、聚合操作、Optional类型及其使用,以及并行流的使用。 第3章聚焦于使用lambda进行编程,包括延迟执行、参数选择、返回函数、组合、异常处理和泛型等方面,让读者能更好地运用lambda表达式进行复杂逻辑的构建。 JavaFX在Java 8中也有所加强,第4章讲述了JavaFX的基本概念、事件处理、属性绑定、布局管理、FXML和CSS,以及动画和特效,适合想涉足GUI编程的开发者。 新的日期和时间API是Java 8改进的一个重要部分。第5章详细阐述了这个API,包括本地日期、时间、时区的处理,格式化和解析,以及与旧日期API的交互。 并发增强是Java 8的另一个关键更新,第6章介绍了原子变量、并发哈希映射的改进、并行数组操作和可完成的Future,帮助开发者编写更高效的并发代码。 第7章介绍了JavaScript引擎Nashorn,讲解了如何在Java中运行JavaScript,调用JavaScript方法,以及如何实现Java与JavaScript的交互。 第8章列举了一些其他杂项改进,包括字符串、数字类、数学函数、集合类、文件操作、注解等方面的优化。 最后,第9章回顾了Java 7的一些重要特性,如异常处理的改进、文件操作的增强、以及实现equals、hashCode和compareTo方法的最佳实践。 这本书适合有一定Java基础,希望快速学习Java 8新功能的程序员,同时也对Java 7的关键特性进行了补充,是提升Java技能的好助手。" 这本书的目录结构严谨,每个章节覆盖一个主题,并配有练习题,有助于巩固所学知识。通过这本书,读者可以在短时间内深入了解Java 8的精髓,提高编程效率。
2018-03-08 上传
目录 第1章 lambda表达式 0 1.1 为什么要使用lambda表达式 2 1.2 lambda表达式的语法 4 1.3 函数式接口 6 1.4 方法引用 8 1.5 构造器引用 10 1.6 变量作用域 10 1.7 默认方法 14 1.8 接口中的静态方法 17 练习 18 第2章 Stream API 20 2.1 从迭代器到Stream操作 22 2.2 创建Stream 23 2.3 filter、map和flatMap方法 25 2.4 提取子流和组合流 26 2.5 有状态的转换 27 2.6 简单的聚合方法 28 2.7 Optional类型 29 2.7.1 使用Optional值 29 2.7.2 创建可选值 30 2.7.3 使用flatMap来组合可选值函数 31 2.8 聚合操作 32 2.9 收集结果 33 2.10 将结果收集到Map中 35 2.11 分组和分片 37 2.12 原始类型流 40 2.13 并行流 42 2.14 函数式接口 44 练习 45 第3章使用lambda编程 48 3.1 延迟执行 50 3.2 lambda表达式的参数 51 3.3 选择一个函数式接口 52 3.4 返回函数 55 3.5 组合 56 3.6 延迟 58 3.7 并行操作 59 3.8 处理异常 60 3.9 lambda表达式和泛型 63 3.10 一元操作 65 练习 67 第4章 JavaFX 72 4.1 Java GUI编程简史 74 4.2 你好,JavaFX! 75 4.3 事件处理 76 4.4 JavaFX属性 77 4.5 绑定 80 4.6 布局 85 4.7 FXML 91 4.8 CSS 95 4.9 动画和特殊效果 97 4.10 不寻常的控件 100 练习 103 第5章新的日期和时间API 106 5.1 时间线 108 5.2 本地日期 110 5.3 日期校正器 113 5.4 本地时间 114 5.5 带时区的时间 115 5.6 格式化和解析 119 5.7 与遗留代码互操作 122 练习 123 第6章并发增强 126 6.1 原子值 128 6.2 ConcurrentHashMap改进 131 6.2.1 更新值 132 6.2.2 批量数据操作 134 6.2.3 Set视图 136 6.3 并行数组操作 137 6.4 可完成的Future 138 6.4.1 Future 138 6.4.2 编写Future 139 6.4.3 Future流水线 139 6.4.4 编写异步操作 141 练习 143 第7章 JavaScript引擎——Nashorn 146 7.1 从命令行运行Nashorn 148 7.2 从Java运行Nashorn 149 7.3 调用方法 150 7.4 构造对象 151 7.5 字符串 153 7.6 数字 153 7.7 使用数组 154 7.8 列表和映射 155 7.9 lambda表达式 156 7.10 继承Java类及实现Java接口 157 7.11 异常 158 7.12 Shell脚本 159 7.12.1 执行Shell命令 159 7.12.2 字符串插值 160 7.12.3 脚本输入 161 7.13 Nashorn和JavaFX 162 练习 164 第8章杂项改进 166 8.1 字符串 168 8.2 数字类 168 8.3 新的数学函数 169 8.4 集合 170 8.4.1 集合类中添加的方法 170 8.4.2 比较器 171 8.4.3 Collections类 173 8.5 使用文件 173 8.5.1 读取文件行的流 173 8.5.2 遍历目录项的流 175 8.5.3 Base64编码 176 8.6 注解 177 8.6.1 可重复的注解 177 8.6.2 可用于类型的注解 179 8.6.3 方法参数反射 181 8.7 其他一些细微的改进 182 8.7.1 Null检查 182 8.7.2 延迟消息 182 8.7.3 正则表达式 183 8.7.4 语言环境 183 8.7.5 JDBC 185 练习 185 第9章你可能错过的Java 7特性 188 9.1 异常处理改进 190 9.1.1 try-with-resources语句 190 9.1.2 忽略异常 191 9.1.3 捕获多个异常 192 9.1.4 更简单地处理反射方法的异常 193 9.2 使用文件 193 9.2.1 Path 194 9.2.2 读取和写入文件 196 9.2.3 创建文件和目录 197 9.2.4