📅  最后修改于: 2023-12-03 15:31:52.833000             🧑  作者: Mango
在Java 8及以上版本中,IntStream filter()方法是用来对int型流进行过滤,返回经过筛选的一个新的流。
IntStream filter(IntPredicate predicate)
predicate
是一个用来筛选的条件谓词(Predicate), 带有 boolean 类型返回值。
下面是一个示例代码,通过使用 filter() 方法,过滤出所有偶数的流,并计算它们的平均数。
import java.util.stream.IntStream;
public class IntStreamFilterExample {
public static void main(String[] args) {
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
double averageOfEvenNumbers = IntStream.of(numbers)
.filter(n -> n % 2 == 0)
.average()
.getAsDouble();
System.out.println("平均数:" + averageOfEvenNumbers);
}
}
以上示例输出为:
平均数:5.0
以上这段代码使用 IntStream.of() 方法将一个 int 数组转换成 IntStream 流,接着使用 filter() 方法过滤出该流的所有偶数,然后调用 average() 方法,求取筛选后的平均值。
IntStream filter() 方法用于过滤出满足条件的整数,返回一个新的流。它能够方便地操作一个整数数据集,处理流程简洁高效。