近期学习 java8 lambda 和stream 总结

虽然现在JAVA10 已经出了,但是之前没有来得及看lambda,最近学习了下,所以总结一波。

写法:

(参数) -> 表达式

(参数) -> {表达式}

(参数) -> {表达式+return}

lambda主要用于表示 匿名类,一般这些接口都只有一个方法

1.Runnable,Comparable,Comparator

近期学习 java8 lambda 和stream 总结

2.Consumer

近期学习 java8 lambda 和stream 总结


3.Stream所用到的一些匿名类,以及stream的一些基本操作  主要用于处理集合

首先指出3点 

(1)stream  有单孔流stream 和 多孔流 ,单孔流是对集合元素一个一个按顺序操作,多孔流为 并行操作且无序(大任务分成小的任务执行,底层用线程池实现,若要对集合的元素进行相同的操作不在意顺序关系,可调用)

(2)stream 流 无法重用,第一次调用后会关闭  若重复利用会报错:stream has already been operated upon or closed

(3)可利用Supplier 对流进行重用

近期学习 java8 lambda 和stream 总结