当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java IntStream limit()用法及代码示例


IntStream limit(long maxSize)返回一个包含此流元素的流,该流的长度被截断为不超过maxSize。

注意:IntStream limit()是一种短路的有状态中间操作,即,当使用无限输入进行处理时,它可能会产生有限的流,而无需处理整个输入。

用法:


IntStream limit(long maxSize)

参数:

  1. IntStream : 原始整数值元素的序列。这是Stream的int原语专业化。
  2. maxSize : 流应限于的元素数。

返回值:该函数返回一个由该流的元素组成的流,其长度被截断为不超过maxSize。

异常:如果maxSize为负数,该函数将抛出IllegalArgumentException。

示例1:

// Java code for IntStream limit 
// (long maxSize) 
import java.util.*; 
import java.util.stream.IntStream; 
  
class GFG { 
  
    // Driver code 
    public static void main(String[] args) 
    { 
        // Creating an IntStream 
        IntStream stream = IntStream.of(2, 4, 6, 8, 10); 
  
        // Using IntStream 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 IntStream limit 
// (long maxSize) 
import java.util.*; 
import java.util.stream.IntStream; 
  
class GFG { 
  
    // Driver code 
    public static void main(String[] args) 
    { 
        // Creating an IntStream of numbers [5, 6, .. 11] 
        IntStream stream = IntStream.range(5, 12); 
  
        // Using IntStream 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 IntStream limit 
// (long maxSize) 
import java.util.*; 
import java.util.stream.IntStream; 
  
class GFG { 
  
    // Driver code 
    public static void main(String[] args) 
    { 
        // Creating an IntStream 
        IntStream stream = IntStream.iterate(4, num -> num + 2); 
  
        // Using IntStream 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

IntStream limit()和之间的区别IntStream skip()

  1. limit()方法返回减少的第一maxSize元素流,但skip()方法在跳过第一maxSize元素之后返回其余元素流。
  2. limit()是一种短路的有状态中间操作,即,当使用无限输入进行处理时,它可能会生成有限的流,而无需处理整个输入,但是skip()是有状态的中间操作,即,可能需要先处理整个输入产生结果。


相关用法


注:本文由纯净天空筛选整理自Sahil_Bansall大神的英文原创作品 IntStream limit() in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。