快速了解Stream,更深一步的使用我会在后续总结
关于Stream:
定义:
遍历集合,对集合中的元素进行过滤
优点:
更关注做了什么,不关心怎么做,使代码更优美
大概介绍:
*Java8API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。
*Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象。
*StreamAPI可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。
*这种风格将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理,比如筛选,排序,聚合等。
*元素流在管道中经过中间操作(intermediateoperation)的处理,最后由最终操作(terminaloperation)得到前面处理的结果。
注意事项:
*String流其实是一个几何元素的函数模型,它并不是集合,也不是数据结构,其本身并不存储任何元素(或其地址值)
*String流是一个来源数据源的元素队列
*元素是特定类型的对象,形成一个对列.java的String流并不会存储元素,而是按需计算,
*数据源流的来源,可以是集合,数组等
资料来源:https://www.runoob.com/java/java8-streams.html
代码基本展示:
package JavaSE;
import java.util.ArrayList;
import java.util.List;
public class Stream {
public static void main(String[] args) {
//接下来以遍历数组为例
List<String> people=new ArrayList<>();
people.add("中国女足");
people.add("冰墩墩");
people.add("张三");
people.add("张三丰");
people.stream()//这一步是将其转化为Stream
.filter(name->name.startsWith("张")) //选出姓张的人
.filter(name->name.length()==3) //选出名字的长度是3的
.forEach(name->System.out.println(name));//将筛选(这两段筛选的去交集)的打印出来
}
}