函数编程
函数对象
好处:
1.逻辑参数化
2.延迟执行
函数对象表现形式
Lambda表达式
函数接口
方法引用
闭包
柯里化
Stream API
构建流
流合并与截取
流生成
流查找与判断
流去重与排序
去重
排序
流化简
流收集
容器创建
收集器
下游收集器
三种基本流
普通流转基本流
Stream流的特性
一次使用:流只能使用一次
两类操作:中间操作(lazy 懒惰,当实际操作数据时才执行);终结操作(eager 迫切)
中间操作
终结操作
收集器
并行流
1.数据量问题:数据量大是2才建议用并行流
2.线程会无限增加吗:跟cpu能处理的线程数有关
3.收尾的意义:转不可变集合,StringBuilder 转String...
4.是否线程安全:不会有线程安全问题
5.特性:
是否需要收尾(默认收尾)
是否需要保证顺序(默认保证)
容器是否支持并发(默认不支持)
A可以减少内存的使用,B对内存的使用量大
流效率
在大数据量的流计算时,性能:forearch
约等于基本流 <包装流 <普通流**
普通流不适合做计算,要计算先转基本流
百万级数据量的时候,并行流效率高>forearch>串行流