17.Stream流
Stream流
// Stream流完成过滤操作
// 生成流、过滤姓张、过滤长度为3、逐一打印
list.stream().filter(s -> s.startWith("张")).filter(s -> s.length()==3).forEach(System.out::println);
Stream流生成:
生成流 -> 中间操作 -> 终结操作
-
生成流:通过数据源生成流(list.stream())
Collection体系集合使用默认方法stream()生成流
Map体系集合间接生成流
数组通过Stream接口的静态方法 of 生成流
-
中间操作:一个流后面跟零个或多个中间操作(filter())
list.stream().filter(s -> s.startWith("张"));
limit(n):输出集合的前n个元素
skip(n):跳过集合的前n个元素,把剩下的元素输出
concat(Stream a, Stream b):合并两个流
distinct():返回该流中的不同元素
sorted():对其中元素进行排序(有无参、带参两种形式的排序)
map:写入一个函数对集合中元素进行操作
mapToInt:可将字符串转换为整型,并通过sum方法进行求和操作
-
终结操作:一个流只能有一个终结操作,执行后流就用光了(forEach())
forEach:对流中每个元素执行操作
count:返回此流中的元素数

浙公网安备 33010602011771号