Java IntStream limit()
IntStream limit(long maxSize) 返回一个由这个流的元素组成的流,被截断的长度不超过maxSize。
注意: IntStream limit()是一个 短路的有状态的中间操作 ,也就是说,当对一个无限的输入进行处理时,它可能会产生一个有限的流作为结果,而不处理整个输入。
语法:
参数
- IntStream : 一个原始int值元素的序列。这是对Stream的int基元特化。
- maxSize : 流应该限制的元素数量。
返回值 : 该函数返回一个由这个流的元素组成的流,被截断,长度不超过maxSize。
异常 : 如果maxSize为负数,该函数会抛出 IllegalArgumentException 。
例子 1 :
输出:
例2 :
输出:
例3 :
输出:
IntStream limit()和IntStream skip()之间的区别。
- limit()方法返回一个由第一个maxSize元素组成的缩小的流,但是skip()方法在跳过第一个maxSize元素后返回一个剩余元素的流。
- limit()是一个短路的有状态的中间操作,即当处理一个无限的输入时,它可能会产生一个有限的流作为结果,而skip()是一个有状态的中间操作,即它可能需要在产生一个结果之前处理整个输入。