How to Reduce the Size of the Stream with the Limit Method in Java 8

  • google plus

In Brief...

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.

Take our Introduction to Java Training course for free.

See the Course Outline and Register

Instructions

  1. 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:
    import java.util.stream.*;
    import java.util.*;
    import java.io.*;
    public class ReduceStreamSizeWithlimitMethod {
    private static List names=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);
    }
    }
    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:
    Java Source for Limit Method
  2. Save your file as ReduceStreamSizeWithlimitMethod.java.
  3. 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.
    Compile Program with Limit Method
  4. 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.
    Run Program with Limit Method
  5. 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.
    Run Program with Limit Method

Author: Stephen Withrow

Stephen has over 30 years' experience in training, development, and consulting in a variety of technology areas including Java, C, C++, XML, JavaScript, AJAX, Tomcat, JBoss, Oracle, and DB2. His background includes design and implementation of business solutions on client/server, Web, and enterprise platforms. Stephen is a published writer in both technical and non-technical endeavors. Stephen received an undergraduate degree in Computer Science and Physics from Florida State University.

Discuss