java 8 Functions Stream

 

1、Functions in java

特性总结

2、Streams

流处理两种方式

1、顺序处理 sequential processing

2、并行处理 parallel processing

3、Default methods and java modules

1、Functions in java

方法和lambdas 作为一阶公民

特性总结

  1. method references

:: 双冒号 作为方法引用

  1. lambads: anonymous functions

 

  1. 如果方法比较晦涩,使用定义方法再引用方式,使用lambdas可以代表那些简单的方法

2、Streams

传统java 只使用单核cpu

如果想使用多核cpu 涉及到多线程,就会比较麻烦

java 8 封装 streams API

第一个是因为有很多patterns

  1. 设定规则过滤数据
  2. 抽取数据
  3. 聚集数据

第二个是因为流处理是并行化 将数据进行分区而不是对数据进行同步

类似于 fork-join

多个cpu 只处理数据一部分,然后最后汇总

 

 

流处理两种方式

1、顺序处理 sequential processing

List<Apple> list = inventory.stream().filter((Apple apple) -> apple.getWeight() > 120)

.collect(toList());

2、并行处理 parallel processing

List<Apple> list=inventory.parallelStream().filter((Apple apple) -> apple.getWeight() > 120)

.collect(toList());

 

chapter 7 详细讲解 parallel data processing

 

3、Default methods and java modules

chapter13 解决臭名昭著的 infamous diamond inheritance problem in c++

Optional<T> 解决空指针异常,

类型匹配

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值