Stream 是什么
Stream是Java 8新增的重要特性, 它提供函数式编程支持并允许以管道方式操作集合. 流操作会遍历数据源, 使用管道式操作处理数据后生成结果集合, 这个过程通常不会对数据源造成影响。
同时stream不是一种数据结构,它只是某种数据源的一个视图,数据源可以是一个数组,Java容器或I/O channel等。在Stream中的操作每一次都会产生新的流,内部不会像普通集合操作一样立刻获取值,而是惰性取值,只有等到用户真正需要结果的时候才会执行。
Stream流的使用步骤
1.先到一条stream流,并把数据放上去
双列集合使用stream流需要获取键值对对象
2.使用中间方法对流水线上的数据进行操作
filter(element_>boolean表达式)
//过滤,只要空字符串
NewList<String> list = stringList.stream()
.filter(param -> param.isEmpty())
.collect(Collectors.toList());
过滤元素,符合Boolean表达式的留下来
distinct()方法
作用:去除重复元素
list.stream().distinct().forEach(s->system.out.println(s));
limit(long n)
返回前n个元素
list=list.stream().limit(1).collect(Collectors.toList));
skip(long n)
去除前n个元素
limit(m).skip(n),返回前n个元素,再从这m个元素中除去n个
list=list.stream().limit(2).skip(1).collect(Collectors.toList());
map(T->R)
转换流中的数据类型