Stream流的创建
获取List集合的Stream流
Stream<String> stream = names.stream();
获取Set集合的Stream流
Stream<String> stream1 = set.stream();
获取Map集合的Stream流
Set<String> keys = map.keySet();
Stream<String> ks = keys.stream();
Collection<Double> values = map.values();
Stream<Double> vs = values.stream();
Set<Map.Entry<String, Double>> entries = map.entrySet();
Stream<Map.Entry<String, Double>> kvs = entries.stream();
获取数组的Stream流
Stream<String> s1 = Arrays.stream(names2);
Stream<String> s2 = Stream.of(names2);
Stream流中间方法
filter
:过滤流中满足给定条件的元素。map
:对流中的每个元素应用给定的函数,并将结果作为新的流返回。flatMap
:对流中的每个元素应用给定函数生成一个流,然后将所有生成的流合并成一个流返回。distinct
:去除流中重复的元素。sorted
:对流中的元素进行排序。limit
:限制最大元素数量。skip
:跳过给定数量的元素。peek
:对流中的每个元素执行操作,但不会改变流的内容。takeWhile
:从流中取元素,直到给定的条件不满足为止。dropWhile
:跳过流中满足给定条件的元素,直到遇到不满足条件的元素为止Stream流终结方法
-
forEach
:对流中的每个元素执行给定的操作。 -
count
:返回流中的元素数量。 -
collect
:将流中的元素收集到一个集合或数据结构中,例如列表、集合、映射等。 -
toArray
:将流中的元素转换为数组。 -
min
:返回流中的最小元素,根据给定的比较器进行比较。 -
max
:返回流中的最大元素,根据给定的比较器进行比较。 -
findFirst
:返回流中的第一个元素。 -
findAny
:返回流中的任意一个元素。 -
reduce
:通过将流中的元素逐个应用给定的二元操作符来将流归约为单个值。 -
anyMatch
:检查流中是否存在满足给定条件的元素。 -
allMatch
:检查流中的所有元素是否都满足给定条件。 -
noneMatch
:检查流中是否没有元素满足给定条件