Java 过滤操作:循环遍历、Stream API、Predicate 接口
在 Java 中,可以使用多种方式来实现过滤操作。以下是几种常见的过滤方式:
- 使用循环遍历:使用 for 循环或者增强 for 循环遍历集合或数组,通过 if 语句判断元素是否满足过滤条件,符合条件的元素可以放入新的集合中。
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> filteredNumbers = new ArrayList<>();
for (Integer number : numbers) {
if (number % 2 == 0) {
filteredNumbers.add(number);
}
}
System.out.println(filteredNumbers); // 输出 [2, 4]
- 使用 Stream API:Java 8 引入的 Stream API 提供了一种更简洁的方式来进行过滤操作。可以使用 filter 方法筛选出满足条件的元素,并使用 collect 方法将结果收集到新的集合中。
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> filteredNumbers = numbers.stream()
.filter(number -> number % 2 == 0)
.collect(Collectors.toList());
System.out.println(filteredNumbers); // 输出 [2, 4]
- 使用 Predicate 接口:Predicate 接口是一个函数式接口,可以定义过滤条件,并使用它进行过滤操作。
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
Predicate<Integer> evenNumberPredicate = number -> number % 2 == 0;
List<Integer> filteredNumbers = numbers.stream()
.filter(evenNumberPredicate)
.collect(Collectors.toList());
System.out.println(filteredNumbers); // 输出 [2, 4]
以上是几种常见的过滤方式,根据具体的需求和场景选择适合的方式进行过滤操作。
原文地址: https://www.cveoy.top/t/topic/qAqz 著作权归作者所有。请勿转载和采集!