在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中的一个常用方法,能够简化代码并提高代码的可读性。