stream.limit() method in Java - GeeksforGeeks

06 Dec, 2018
Prerequisite : Streams in Java8The limit(long N) is a method of java.util.stream.Stream object. This method takes one (long N) as an argument and returns a stream of size no more than N. limit() can be quite expensive on ordered parallel pipelines, if the value of N is large, because limit(N) is constrained to return the first N elements in the encounter order and not just any n elements.
Syntax :
Stream<T> limit(long N)

Where N is the number of elements the stream should be 
limited to and this function returns new stream as output.

Exception : If the value of N is negative, then IllegalArgumentException is thrown by the function.
Below are some examples to understand the implementation of the function in a better way.Example 1 :
// Java code to show implementation// of limit() functionimport java.util.*;  class GFG {      // Driver code    public static void main(String[] args)    {          // Creating a list of integers        List<Integer> list = new ArrayList<Integer>();          // adding elements in the list        list.add(-2);        list.add(0);        list.add(2);        list.add(4);        list.add(6);        list.add(8);        list.add(10);        list.add(12);        list.add(14);        list.add(16);          // setting the value of N as 4        int limit = 4;        int count = 0;        Iterator<Integer> it = list.iterator();          // Iterating through the list of integers        while (it.hasNext()) {            it.next();            count++;              // Check if first four i.e, (equal to N)            // integers are iterated.            if (count > limit) {                  // If yes then remove all the remaining integers.                it.remove();            }        }          System.out.print("New stream of length N"                         + " after truncation is : ");          // Displaying new stream of length        // N after truncation        for (Integer number : list) {            System.out.print(number + " ");        }    }}
Output :
New stream of length N after truncation is : -2 0 2 4 

Application :
// Java code to show the use of limit() functionimport java.util.stream.Stream;import java.util.ArrayList;import java.util.List; class gfg{            // Function to limit the stream upto given range, i.e, 3     public static Stream<String> limiting_func(Stream<String> ss, int range){         return ss.limit(range);     }            // Driver code     public static void main(String[] args){                    // list to save stream of strings         List<String> arr = new ArrayList<>();                    arr.add("geeks");         arr.add("for");         arr.add("geeks");         arr.add("computer");         arr.add("science");                   Stream<String> str = arr.stream();                    // calling function to limit the stream to range 3         Stream<String> lm = limiting_func(str,3);         lm.forEach(System.out::println);     } }
Output :
geeks
for
geeks

Java - util package
Java-Functions
java-stream
Java-Stream interface
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Object Oriented Programming (OOPs) Concept in Java
HashMap in Java with Examples
Interfaces in Java
How to iterate any Map in Java
ArrayList in Java
Initialize an ArrayList in Java
Stack Class in Java
Multidimensional Arrays in Java
Singleton Class in Java
Set in Java