java流的filter函数的用法
在Java中,filter函数是Stream API的一部分,它用于根据某种条件过滤元素。这是使用filter函数的基本语法:
java复制代码
stream.filter(Predicate<? super T> predicate)
这里,stream是一个输入的Stream对象,predicate是一个用于过滤元素的函数式接口。这个接口只有一个方法,即test(T t),返回一个布尔值。
以下是一个具体的例子,假设我们有一个整数列表,我们希望过滤出所有的偶数:
java复制代码
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)
.List());
在这个例子中,我们创建了一个Stream对象,然后使用filter函数过滤出所有的偶数。n -> n % 2 == 0是一个Lambda表达式,代表了一个匿名函数,该函数接受一个整数参数n,并返回一个布尔值。collect方法将结果收集到一个新的列表中。
你也可以使用方法引用进行过滤,例如上述的例子可以改写为:
java复制代码
java stream
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)
.List());
在这个例子中,我们使用了方法引用来过滤偶数。n -> n % 2 == 0可以被看作是一个方法引用,它引用了接受一个整数参数并返回一个布尔值的n -> n % 2 == 0方法。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。