Stream<T> filter(Predicate<? super T> predicate)
返回一个新的Stream,该Stream中的元素由满足函参计算结果的集合元素组成。
Filter,过滤器的意思。把集合中的元素逐个放进函参中计算,计算结果为true就保留,false就丢弃。
看个例子:
void stream_filter() {
List<Integer> list = List.of(2,5,8,9,4,20,11,43,55);
Stream<Integer> stream = list.stream().filter(a -> a>11);
stream.forEach(System.out::print);
}
运行结果:204355
以上代码对集合list中的元素逐个检测,把满足大于11的元素放进新的Stream中,最后把这个新Stream作为最终结果返回。