前言
- 自从有了Java8,Java语言和库仿佛获得了新生。本次分享的<>只是<<快学Java SE8>>中的第一次分享,后面还会有函数式编程一、二等,之所以叫快学就是希望和大家一起快速切入主题,尽快了解Java8并实践。
本次分享目录
分享后的练习题
lambda
- 使用java.io.File类的list(FilenameFilter)方法,编写一个返回指定目录下、具有指定扩展名的所有文件。使用lambda表达式(而不是FilenameFilter)来实现。
- 从你的项目中选取一个包含ActionListener、Runnable或者其他类似代码的文件。将他们替换为lambda表达式。这样能节省多少行代码?替换后代码是否具有可读性?
过程中是否使用了方法引用。 - 编写一个静态方法andThen,它接收两个Runnable实例作为参数,并返回一个分别运行这两个实例的Runnable对象。在main方法中,向andThen方法传递两个lambda表达式,并运行返回的实例。
Stream:
- 将下面的例子编写一个for循环的并行版本,获取处理器的数量,创造出多个独立的线程,每个都只处理列表的一个片段,然后将他们各自的结果汇总起来。
- 请想办法验证一下,对于获得前5个最长单词的代码,一旦找到第5个最长的单词后,就不会再调用filter方法了。
- 要统计长单词的数量,使用parallelStream与使用stream有什么区别?请具体测试一下。(可以考虑用一个大文件)
##### 日期&时间: - 请不使用plusDays来计算程序员节(程序员节是每年的第256天,也就是平年的9月13日和闰年的9月12日)
- 编写一个打印你已经生活了多少天的程序。
- 列出21世纪中的所有星期五
- 乘坐如下航班,从杭州到洛杉矶,飞机飞行了多长时间?编写一个可以进行这类计算的程序。
### 分享ppt - 分享ppt见附件
时间: 2024-10-27 15:25:54