Open In App
Related Articles

LongStream limit() in Java

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report
LongStream limit(long maxSize) returns a stream consisting of the elements of this stream, truncated to be no longer than maxSize in length. Note : LongStream limit() is a short-circuiting stateful intermediate operation i.e, when processed with an infinite input, it may produce a finite stream as a result without processing the entire input. Syntax :
LongStream limit(long maxSize)
Parameters :
  1. LongStream : A sequence of primitive long-valued elements. This is the long primitive specialization of Stream.
  2. maxSize : The number of elements the stream should be limited to.
Return Value : The function returns a stream consisting of the elements of this stream, truncated to be no longer than maxSize in length. Exception : The function throws IllegalArgumentException if maxSize is negative. Example 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);
    }
}

                    
Output :
2
4
6
Example 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);
    }
}

                    
Output :
5
6
7
8
Example 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);
    }
}

                    
Output :
4
6
8
10
Difference between LongStream limit() and LongStream skip() :
  1. The limit() method returns a reduced stream of first maxSize elements but skip() method returns a stream of remaining elements after skipping first maxSize elements.
  2. limit() is a short-circuiting stateful intermediate operation i.e, when processed with an infinite input, it may produce a finite stream as a result without processing the entire input but skip() is a stateful intermediate operation i.e, it may need to process the entire input before producing a result.


Last Updated : 06 Dec, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads