介绍
Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果。参考: runoob.com.
用途
过滤获取指定元素
示例
1.示例A
List<Integer> ids = new ArrayList<>();
ids.add(1);
ids.add(2);
Integer i = ids.stream().filter(r->(r.equals(3))).findFirst().orElse(null);
2.示例B
List<Integer> list = Arrays.asList(1,2,3,4,5);
Integer item = list.stream().filter(x->x==2).findFirst().orElse(list.get(list.size()-1));
或者orElse可以写成:
.orElse(list.isEmpty()?-1:list.get(list.size()-1));
3.示例C
String uri = ×××;
List<Apps> apps = appMapper.findByUserId(userId);
App app = apps.stream().filter(a->uri.indexOf(a.getUri())!=-1).findFirst().orElse(null);
使用前提
必须确保list不为null!!!!!!!!!!!!
版权声明:本文为weixin_46481669原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。