Java DoubleStream limit()示例
DoubleStream limit(long maxSize) 返回一个由这个流的元素组成的流,被截断为不超过maxSize的长度。
注意: DoubleStream limit()是一个 短路的有状态的中间操作 ,也就是说,当处理一个无限的输入时,它可能会产生一个有限的流作为结果,而无需处理整个输入。
语法:
DoubleStream limit(long maxSize)
参数
- DoubleStream : 一个原始双值元素的序列。这是对Stream的双重原始特化。
- maxSize : 流应该限制的元素数量。
返回值 : 该函数返回一个由这个流的元素组成的流,被截断的长度不超过maxSize。
异常 : 如果maxSize为负数,该函数会抛出 IllegalArgumentException 。
例子 1 :
// Java code for DoubleStream limit
// (long maxSize)
import java.util.*;
import java.util.stream.DoubleStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an DoubleStream
DoubleStream stream = DoubleStream.of(2.3, 4.4, 6.7, 8.9, 10.5);
// Using DoubleStream 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.3
4.4
6.7
例2 :
// Java code for DoubleStream limit
// (long maxSize)
import java.util.*;
import java.util.stream.DoubleStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an DoubleStream
DoubleStream stream = DoubleStream.iterate(4.5, num -> num + 3);
// Using DoubleStream 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.5
7.5
10.5
13.5
DoubleStream limit()和DoubleStream skip()之间的区别。
- limit()方法返回一个由第一个maxSize元素组成的缩减流,但是skip()方法返回一个跳过第一个maxSize元素后的剩余元素流。
- limit()是一个 短路的有状态的中间操作 ,即当处理一个无限的输入时,它可能会产生一个有限的流作为结果,而skip()是一个 有状态的中间操作 ,即它可能需要在产生一个结果之前处理整个输入。