list的stream方法

介绍

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);

你可能感兴趣的:(JAVA,java,stream)