$show=/label

Java 8 - How To Convert Stream Collect to List in Java? Collectors.toList()

SHARE:

A quick practical guide to convert Stream to List in Java 8 api. Example program on how to retrieve a List or get ArrayList from util Stream.

1. Overview

In this tutorial, We'll learn how to convert Stream to List in java 8

Use Collectors.toList() method to convert the Stream Collect to ArrayList or List. When you call toList() method, it creates an ArrayList object and returns to the caller.

But, if you want to get the List as LinkedList then need to use Collectors.toCollection() method.

Let us see the example programs using these two methods for better understanding.

Java 8 - How To Convert Stream to List in Java? Collectors.toList()


2. Java 8 - Convert Stream to List


Below example program to convert a stream to list using Collectors.toList() method with the help of collect() method.

package com.javaprogramto.java8.collectors.streamtolist;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * Example Stream to List
 * 
 * @author javaprogramto.com
 *
 */
public class StreamToListExample {

	public static void main(String[] args) {
		// creating an list
		List<String> names = Arrays.asList("Nick", "Boran", "Tison", "Sunshine");

		// converting list to stream
		Stream<String> stream = names.stream();

		// finally collecting the stream values into a list with any filtering the
		// objects.
		List<String> finalList = stream.collect(Collectors.toList());

		// printing
		System.out.println("List values : " + finalList);
	}
}

Output:

List values : [Nick, Boran, Tison, Sunshine]

3. Java 8 - Numbers Stream to List With filter()


In this approach, first we will create the Stream of integers as Stream<Integer> using Stream.of() method and pass the numbers to of() method. We can pass any number of int values comma separated to this method. Because this method takes the input var-args.

package com.javaprogramto.java8.collectors.streamtolist;

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * Example on numbers Stream to List
 * 
 * @author javaprogramto.com
 *
 */
public class NumbersStreamToListExample {

	public static void main(String[] args) {

		// Creating a stream using of() method.
		Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5);

		// Filtering the stream values to get only even numbers and next collect into ArrayList.
		List<Integer> finalList = stream.filter(e -> e % 2 == 0).collect(Collectors.toList());

		// printing
		System.out.println("Final ArrayList values : " + finalList);
	}
}

Output:
Final ArrayList values : [2, 4]

In the above program, after adding the first 5 integers to stream and adding filter() to get only the even numbers. Finally, Invoked the collect(Collectors.toList()) method which returns ArrayList instance default and stored the values into the List<Integer> variable.

4. Java 8 Stream to List as LinkedList


In the above sections, we've used Collectors.toList() method to get ArrayList object from stream values. But, if we want to get it as LinkedList then use another Collectors method toCollection() method which takes the LinkedList object as LinkedList::new.

LinkedList::new will create a new LinkedList object using Method Reference concept.

package com.javaprogramto.java8.collectors.streamtolist;

import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * Example Stream to LinkedList
 * 
 * @author javaprogramto.com
 *
 */
public class StreamToLinkedListExample {

	public static void main(String[] args) {
		// creating an list
		List<String> values = Arrays.asList("1", "2", "3", "4", "5");

		// converting list to stream
		Stream<String> stream = values.stream();

		// Collecting the stream values into a LinkedList using stream collectors.
		LinkedList<String> linkedList = stream.collect(Collectors.toCollection(LinkedList::new));

		// printing
		System.out.println("LinkedList values : " + linkedList);
	}
}

Output:
LinkedList values : [1, 2, 3, 4, 5]

5. Java 8 - Convert Infinite Stream to List


Java 8 api allows to create infinite streams of number using IntStream.iterate() method.

Let us now convert Infinite stream into List with limiting the number values from unlimited stream using limit() method.

Look at the below example.

limit(): taking first 10 values from infinite stream
boxed(): convert primitive to Wrapper integer object.
toList(): collecting stream values into List.

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

/**
 * Example on Infinite Stream to List
 * 
 * @author javaprogramto.com
 *
 */
public class StreamToListExample {

	public static void main(String[] args) {

		// Creating the infinite even numbers stream using iterate() starts from value
		// 10.
		IntStream infiniteStream = IntStream.iterate(10, i -> i + 2);

		// limit() + boxed() + toList() example
		List<Integer> finalList = infiniteStream.limit(10).boxed().collect(Collectors.toList());

		// printing
		System.out.println("List values : " + finalList);
	}
}

Output:
List values : [10, 12, 14, 16, 18, 20, 22, 24, 26, 28]

6. Conclusion


In this article, we've seen how to convert stream to list in java 8. Use Collectors.toList() to get the output in ArrayList object and Collectors.toCollection() method to get the output for other collections as LinkedList.



COMMENTS

BLOGGER

About Us

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,16,Arrays,16,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,5,Collections,25,Collector,1,Command Line,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,90,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,35,Dictionary,1,Difference,1,Download,1,Eclipse,2,Efficiently,1,Error,1,Errors,1,Exception,1,Exceptions,3,Fast,1,Files,10,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,4,Grant,1,Grep,1,HashMap,1,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,5,Iterate,2,Jackson API,3,Java,30,Java 10,1,Java 11,5,Java 12,5,Java 13,2,Java 14,2,Java 8,100,Java 8 Difference,2,Java 8 Stream Conversions,2,java 8 Stream Examples,3,Java 9,1,Java Conversions,11,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,103,java.lang,5,java.util. function,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,1,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,2,Math,1,Matrix,5,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,27,String,58,String Programs,12,String Revese,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,16,Unix,3,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: Java 8 - How To Convert Stream Collect to List in Java? Collectors.toList()
Java 8 - How To Convert Stream Collect to List in Java? Collectors.toList()
A quick practical guide to convert Stream to List in Java 8 api. Example program on how to retrieve a List or get ArrayList from util Stream.
https://1.bp.blogspot.com/-yAviCiU0ODE/X9G9UXx4OTI/AAAAAAAADKY/GRjaniFWATkTJOLCEg6P1_oLEgOCpm87QCLcBGAsYHQ/w400-h299/Java%2B8%2B-%2BHow%2BTo%2BConvert%2BStream%2Bto%2BList%2Bin%2BJava%253F%2BCollectors.toList%2528%2529.png
https://1.bp.blogspot.com/-yAviCiU0ODE/X9G9UXx4OTI/AAAAAAAADKY/GRjaniFWATkTJOLCEg6P1_oLEgOCpm87QCLcBGAsYHQ/s72-w400-c-h299/Java%2B8%2B-%2BHow%2BTo%2BConvert%2BStream%2Bto%2BList%2Bin%2BJava%253F%2BCollectors.toList%2528%2529.png
JavaProgramTo.com
https://www.javaprogramto.com/2020/12/java-8-stream-to-list.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2020/12/java-8-stream-to-list.html
true
3124782013468838591
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content