温馨提示×

java中stream().filter的用法是什么

小亿
770
2023-12-23 00:48:17
栏目: 编程语言

在Java中,stream().filter()是一个用于过滤流中元素的方法。它接受一个谓词(Predicate)作为参数,通过对流中的每个元素应用谓词来确定是否保留该元素。

使用stream().filter()方法,可以根据特定条件筛选出符合条件的元素,返回一个新的流。只有在谓词返回true的情况下,元素才会被保留在新的流中。例如:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

List<Integer> evenNumbers = numbers.stream()
                                   .filter(n -> n % 2 == 0)
                                   .collect(Collectors.toList());

System.out.println(evenNumbers); // 输出: [2, 4, 6, 8, 10]

上述代码中,我们使用filter()方法筛选出numbers流中的偶数,最后将结果收集到一个新的列表中。谓词n -> n % 2 == 0判断是否为偶数。

filter()方法可以与其他流操作方法(如map()、reduce()等)结合使用,以进行更复杂的数据处理。它是Java 8引入的Stream API中的一个常用方法,能够简化代码并提高代码的可读性。

0