Java中的 LongStream 限制()
LongStream limit(long maxSize)返回一个由该流的元素组成的流,被截断为长度不超过 maxSize。
注意: LongStream limit() 是一种短路状态中间操作,即,当使用无限输入进行处理时,它可能会在不处理整个输入的情况下产生有限流。
句法 :
LongStream limit(long maxSize)
参数 :
- LongStream :原始长值元素的序列。这是 Stream 的长期原始特化。
- maxSize :流应限制的元素数量。
返回值:该函数返回一个由该流的元素组成的流,截断长度不超过 maxSize。
异常:如果 maxSize 为负,该函数将抛出IllegalArgumentException 。
示例 1:
// Java code for LongStream limit
// (long maxSize)
import java.util.*;
import java.util.stream.LongStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an LongStream
LongStream stream = LongStream.of(2L, 4L, 6L, 8L, 10L);
// Using LongStream limit(long maxSize) to
// get a stream consisting of the elements of
// this stream, truncated to be no longer
// than maxSize in length.
stream.limit(3).forEach(System.out::println);
}
}
输出 :
2
4
6
示例 2:
// Java code for LongStream limit
// (long maxSize)
import java.util.*;
import java.util.stream.LongStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an LongStream of numbers [5, 6, .. 11]
LongStream stream = LongStream.range(5, 12);
// Using LongStream limit(long maxSize) to
// get a stream consisting of the elements of
// this stream, truncated to be no longer
// than maxSize in length.
stream.limit(4).forEach(System.out::println);
}
}
输出 :
5
6
7
8
示例 3:
// Java code for LongStream limit
// (long maxSize)
import java.util.*;
import java.util.stream.LongStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an LongStream
LongStream stream = LongStream.iterate(4L, num -> num + 2);
// Using LongStream limit(long maxSize) to
// get a stream consisting of the elements of
// this stream, truncated to be no longer
// than maxSize in length.
stream.limit(4).forEach(System.out::println);
}
}
输出 :
4
6
8
10
LongStream limit() 和 LongStream skip() 之间的区别:
- limit() 方法返回第一个 maxSize 元素的缩减流,但 skip() 方法在跳过第一个 maxSize 元素后返回剩余元素流。
- limit() 是一个短路的有状态中间操作,即,当使用无限输入进行处理时,它可能会在不处理整个输入的情况下产生一个有限流,但 skip() 是一个有状态的中间操作,即它可能需要处理在产生结果之前的整个输入。