How to Reduce the Size of the Stream with the Limit Method in Java 8
See Java: Tips and Tricks for similar articles.
The limit method of the Stream class introduced in Java 8 allows the developer to limit the number of elements that will be extracted from a stream. The limit method is useful in those applications where the user wishes to process only the initial elements that occur in the stream. To learn how to reduce the size of the stream with the limit method, follow these five steps.
- Open your text editor and create the Java program that will create the stream and apply the limit method. Type in the following Java statements:
The stream will be created from the ArrayList that is defined on line 4. Note that a static block is used to add elements to the ArrayList. A static block is executed one time when the program is loaded into memory. The user is asked how many persons are to be displayed on the console. The result entered by the user is checked to see if it is greater than the number of elements in the ArrayList. If this is the case, then the result is equated to the number of elements in the list. The ArrayList is then converted to a stream and the limit method is applied using the number entered by the user. I have highlighted the limit method in the image below:
import java.util.stream.*; import java.util.*; import java.io.*; public class ReduceStreamSizeWithlimitMethod { private static Listnames=new ArrayList<>(); static { names.add("Stephen"); names.add("Regina"); names.add("Edward"); names.add("Miguel"); names.add("George"); names.add("Brad"); } public static void main (String args[]) { Console console=System.console(); int userLimit=Integer.parseInt(console.readLine("Please enter the number of persons you wish to display: ")); // if the user enters a number greater than the list size then set number equal to size if (userLimit > names.size()) { userLimit=names.size(); } names.stream().limit(userLimit).forEach(System.out::println); } } 
- Save your file as
ReduceStreamSizeWithlimitMethod.java. - Open a command prompt and navigate to the directory containing your new Java program. Then type in the command to compile the source and hit Enter.

- You are ready to test your Java program. Type in the command to run the Java runtime launcher and hit Enter. When prompted for the limit, type "3" as shown below. The output displays the first three names because the limit method was applied to the stream using the number you entered.

- Test your program again using a limit greater than the size of the ArrayList, which is 6. Type in the command to run the Java runtime launcher and hit Enter. When prompted for the limit, type "7" as shown below. The output now displays all of the names because the limit method was applied to the stream using the size of the ArrayList as the limit number.

