Collectors toCollection() method in Java 8

The toCollection() method of the Collectors class in Java returns a Collector that accumulates the input elements into a new Collection in encounter order.

The syntax is as follows

static <T,C extends Collection<T>>
Collector<T,?,C> toCollection(Supplier<C> collectionFactory)

Here, the parameter

  • T - Type of the input elements
  • C - Type of the resulting Collection
  • Supplier: A supplier of results
  • collectionFactory - Supplier that returns a new, empty Collection of the appropriate type

To work with Collectors class in Java, import the following package


The following is an example to implement toCollection() method in Java


 Live Demo

import java.util.Collection;
import java.util.TreeSet;
public class Demo {
   public static void main(String[] args) {
      Stream<String> stream = Stream.of("20", "50", "80", "100", "130", "150", "200");
      Collection<String> collection = stream.collect(Collectors.toCollection(TreeSet::new));
      System.out.println("Collection = "+collection);


Collection = [100, 130, 150, 20, 200, 50, 80]