快学Java SE8--Java8新特性-阿里云开发者社区

开发者社区> 开发与运维> 正文

快学Java SE8--Java8新特性

简介: ### 前言 * 自从有了Java8,Java语言和库仿佛获得了新生。本次分享的只是中的第一次分享,后面还会有函数式编程一、二等,之所以叫快学就是希望和大家一起快速切入主题,尽快了解Java8并实践。 ![screenshot](http://img3.tbcdn.cn/L1/461/1/7402100f30caa99e825c1cb2eacd27eecb82ec6e) ### 本

前言

  • 自从有了Java8,Java语言和库仿佛获得了新生。本次分享的<>只是<<快学Java SE8>>中的第一次分享,后面还会有函数式编程一、二等,之所以叫快学就是希望和大家一起快速切入主题,尽快了解Java8并实践。
    screenshot

本次分享目录

screenshot

分享后的练习题

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

分享ppt

  • 分享ppt见附件

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章