java stream().filter
时间: 2023-07-21 10:07:02 浏览: 62
在Java中,stream().filter()是一种流式编程方法,用于对集合或数组中的元素进行过滤操作。它可以配合Lambda表达式或方法引用来指定过滤条件。
例如,假设有一个整数列表numbers,我们想要过滤出其中的偶数:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
List<Integer> evenNumbers = numbers.stream()
.filter(num -> num % 2 == 0)
.collect(Collectors.toList());
在上述代码中,我们使用stream()方法将numbers列表转换为流,然后使用filter()方法指定过滤条件,这里使用了一个Lambda表达式num -> num % 2 == 0来判断是否为偶数。最后,使用collect(Collectors.toList())方法将过滤后的结果收集到一个新的列表evenNumbers中。
注意,filter()方法返回一个新的流,其中只包含满足过滤条件的元素。可以根据具体需求在filter()方法中编写不同的判断条件来进行过滤。
相关问题
java stream.filter方法
Java Stream中的filter()方法用于过滤集合中的元素,只保留满足特定条件的元素。它接受一个Predicate函数式接口作为参数,该接口用于定义过滤条件。filter()方法返回一个新的Stream对象,其中包含满足过滤条件的元素。
以下是一个使用filter()方法的示例代码:
```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)
.collect(Collectors.toList());
System.out.println(evenNumbers); // 输出 [2, 4, 6, 8, 10]
```
上述代码中,我们首先创建了一个包含1到10的整数列表。然后使用stream()方法将其转换为一个Stream对象。接着使用filter()方法过滤出偶数,并使用collect()方法将结果转换为一个列表。
java List.stream.filter
Java中的List接口提供了一个stream方法,该方法返回一个流对象,可以使用流操作对列表进行处理。其中,filter操作是一种流操作,用于根据指定的条件过滤列表中的元素。
filter方法接受一个Predicate参数,该参数是一个函数式接口,用于定义过滤条件。在filter操作中,只有满足该条件的元素才会被保留下来,而不满足条件的元素将被剔除。最终,filter操作返回一个新的流对象,其中包含符合过滤条件的元素。
以下是使用List.stream.filter方法的示例代码:
```java
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 使用filter操作过滤只保留偶数
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.toList();
System.out.println(evenNumbers); // 输出:[2, 4, 6, 8, 10]
}
}
```