Stream流的三类方法
**在Stream流中是无法修改集合,数组等数据源中的数据的
**获取Stream流**
创建一条流水线,并且吧数据放到流水线上进行操作。
-------------------------------------------------------------
1. 单列集合
可以使用Collection接口中的默认方法stream()生成流
default Stream<E> stream()
2. 双列集合
间接的生成流
可以先通过keyset或者entryset获取一个set集合,在获取stream流
3. 数组
Arrays中的静态方法stream生成流
4. 同种数据类型的多个数据
使用 stream.of(...参数是可变参数) 生成流。
**中间方法**
流水线上的操作,一个操作完成,还可以进行其他操作。
1. Stream <T> filter ( Pridicate pridicate) : 过滤的作用
接口中的方法 对给定参数进行判断,返回一个bool值,为true,留下,反之不要。
2. Stream <T> limit ( Long Maxsize) : 截取指定参数个数的数据
3. Stream <T> skip ( long n) : 跳过指定参数个数的数据
4. Static <T> Stream <T> concat ( Stream a,Stream b) : 合并a和b两个流为一体。
5. Stream <T> distinct ( ) : 去除流中重复的元素。依赖重写(Hashcode和equals方法)
**终结方法**
一个Stream流只能有一个终结方法,是流水线上的最后一个操作。
1. void foreach(consumer action) 对此流中的每个元素进行执行操作
2. long count (); 返回此流中的元素数
**收集方法**
1 .R collect(Collector collector)