Stream主要用于对象类型的集合,幸运的是,JDK还提供了基本类型的Stream,这让我们可以直接使用IntStream,而不是Stream<Integer>。
算术操作
我们经常会用求最小值、最大值、和、平均数等常用的操作,就以此为例开始吧:
int[] integers = new int[]{20, 98, 12, 7, 35};
int min = Arrays.stream(integers)
.min()
.getAsInt();
我们使用Arrays的stream()方法创建了一个int类型的stream,通过min()求出最小值(OptionalInt),最后通过getAsInt()返回int的值。
另一个创建IntStream的方法如下:
int max = IntStream.of(23, 32, 98, 1, 3)
.max()
.getAsInt();
同样,求和与平均数都是非常便利的:
int sum = IntStream.of(3, 2, 1).sum();
double avg = IntStream.of(73, 232, 232, 1)
.average()
.getAsDouble();
范围操作
我们可以基本范围来生成基本类型的Stream,这个在写Unit Tests的时候可真是太方便了。

本文介绍了Java 8中基本类型的Stream,包括算术操作如求最小值、最大值、和、平均数,范围操作,以及自动装箱和自动拆箱。通过实例展示了如何创建和使用IntStream,并强调了其在处理基本类型数据时的效率优势。
最低0.47元/天 解锁文章
3221

被折叠的 条评论
为什么被折叠?



