Stream(接口)。
流式处理给人的感觉代码简介很多,但可读性不高,例如
List<Integer> evens = new ArrayList<>();
for (final Integer num : nums) {
if (num % 2 == 0) {
evens.add(num);
}
}
List<Integer> evens = nums.stream().filter(num -> num % 2 == 0).collect(Collectors.toList());
(这里借鉴的是别人代码,主要介绍一下流的方法)
这里的filter()方法方法:Stream<T> filter(Predicate<? super T> predicate)
返回由与此给定谓词匹配的此流的元素组成的流。(返回满足条件的数据)
collectors():对结果进行封装处理,也就是收集数据
Collectors 类 :tolist() 方法 ,将收集的数据转换成流。
forEach(Consumer<? super T> action)
对此流的每个元素执行操作。
类似ForEach fang方法,可对集合进遍历
limit(long maxSize)
返回由此流的元素组成的流,截短长度不能超过 maxSize 。
max(Comparator<? super T> comparator)
根据提供的 比较器,返回此流的最大元素。
min(Comparator<? super T> comparator)
根据提供的 比较器,返回此流的最小元素。
skip(long n)
在丢弃流的第一个 n元素后,返回由该流的 n元素组成的流。
sorted()
返回由此流的元素组成的流,根据自然顺序排序(a-z 0 -9,自然排序)。
这些是比较常用的方法。流式处理简化了很多代码,比较实用。