Stream流
体验Stream流
使用Stream流的方式完成过滤操作
list.stream().filter(s->s.startWith("张")).filter(s->s.length()==3).forEach(System.out::println);
- 直接阅读代码的字面意思即可完美展示无关逻辑方式的语义:生成流、过滤姓张、过滤长度为3、注意打印
- Stream流把真正的函数式编程风格引入到Java中
Stream流的生成方式
Stream流的使用
- 生成流
通过数据源(集合,数组等)生成流
list.stream() - 中间操作
一个流后面可以跟随零个或多个中间操作,其目的主要是打开流,做出某种数据过滤/映射,然后返回一个新的流,交给下一个操作使用
filter() - 终结操作
一个流只能有一个终结操作,当这个操作执行胡,流就被用”光“了,无法再被操作了。所以这必定是流的最后一个操作
forEach()
stream流常见的生成方式
- Collection体系的集合可以使用默认方法stream()生成流
default Stream stream() - Map体系的集合间接的生成流
- 数组可以通过Stream接口的静态方法of(T… vakues)
public static void