📜  Java中的 LongStream 限制()(1)

📅  最后修改于: 2023-12-03 14:42:49.814000             🧑  作者: Mango

Java中的 LongStream 限制()

Java的LongStream是一种基本的流,其提供的方法能够产生一系列的Long值,而Stream的限制()方法则可以使用某些谓词来使得产出的Long 数量最终变得有限。下面介绍一下 Stream的限制()方法及其在LongStream中的应用。

Stream的限制()方法

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中使用

同样的方式,在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,便于进行操作和处理。