📅  最后修改于: 2023-12-03 14:42:49.814000             🧑  作者: Mango
Java的LongStream是一种基本的流,其提供的方法能够产生一系列的Long值,而Stream的限制()方法则可以使用某些谓词来使得产出的Long 数量最终变得有限。下面介绍一下 Stream的限制()方法及其在LongStream中的应用。
Stream的限制()方法可以将一个产生无限个Long值的Stream限制成一个最大的长度。
语法格式:
Stream<T> limit(long maxSize)
参数说明:
maxSize
: 限制Stream的最大长度
返回值:
限制长度不大于 maxSize 的新 Stream。
例如下面的代码可以使用 limit 方法来打印 10 个斐波那契数列元素:
Stream.iterate(new long[]{0, 1}, pair -> new long[]{pair[1], pair[0] + pair[1]})
.limit(10)
.mapToLong(pair -> pair[0])
.forEach(System.out::println);
输出结果:
0
1
1
2
3
5
8
13
21
34
同样的方式,在LongStream中也可以使用 limit 方法限制产生的Long值的数量。
语法格式:
LongStream limit(long maxSize)
参数说明:
maxSize
: 限制LongStream的最大长度
返回值:
限制长度不大于 maxSize 的新 LongStream。
例如下面的代码可以使用 limit 方法来打印前10个满足条件的Long值:
LongStream.range(0, Long.MAX_VALUE)
.filter(n -> n % 2 == 1)
.limit(10)
.forEach(System.out::println);
输出结果:
1
3
5
7
9
11
13
15
17
19
在Java中,LongStream 限制()方法是非常有用的流操作,它可以程产生无限个Long值的Stream变成一个最大长度有限的新Stream,便于进行操作和处理。