filter函数如何使用
发布时间:2023-06-28 10:44:00
发布人:zyh
在Java 8中,List接口提供了一个名为filter的方法,用于过滤集合中的元素。
该方法接收一个Predicate类型的参数,该参数是一个函数式接口,可以接受一个输入参数,并返回一个布尔值。当输入参数符合某种条件时,返回true,否则返回false。
filter方法会遍历集合中的每个元素,并将每个元素传递给Predicate类型的参数,判断该元素是否符合条件。如果符合条件,则将该元素添加到新的集合中,最终返回新的集合。
以下是一个示例:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
System.out.println(evenNumbers); // 输出[2, 4]
该示例中,首先创建了一个整数列表numbers,然后使用stream方法将其转换为一个流。接着调用filter方法,并传入一个lambda表达式,判断该元素是否为偶数。最后使用collect方法将过滤后的元素收集到一个新的列表中。最终输出新的列表,其中包含原列表中的偶数元素。