Java 9 中 Collectors.filtering() 方法的重要性?
javaobject oriented programmingprogramming更新于 2025/8/25 23:40:17
Collectors 类是 Stream API 的重要组成部分。在 Java 9 中,Collectors 类中添加了一种新方法:filtering()。Collectors.filtering() 方法可用于过滤流中的元素。它类似于流上的 filter() 方法。filter() 方法在对值进行分组之前对其进行处理,而 filtering() 方法可以与 Collectors.groupingBy() 方法配合使用,在进行过滤步骤之前对值进行分组。
语法
public static <T, A, R> Collector<T, ?, R> filtering(Predicate<? super T> predicate, Collector<? super T, A, R> downstream)
示例
import java.util.stream.*;
import java.util.*;
public class FilteringMethodTest {
public static void main(String args[]) {
List<String> list = List.of("x", "yy", "zz", "www");
Map<Integer, List<String>> result = list.stream()
.collect(Collectors.groupingBy(String::length,
Collectors.filtering(s -> !s.contains("z"),
Collectors.toList())));
System.out.println(result);
}
}
输出
{1=[x], 2=[yy], 3=[www]}
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

