Open In App

Collectors toSet() in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

Collectors toSet() returns a Collector that accumulates the input elements into a new Set. There are no guarantees on the type, mutability, serializability, or thread-safety of the Set returned. This is an unordered Collector i.e, the collection operation does not commit to preserving the encounter order of input elements.

Syntax:

public static <T> Collector<T, ?, Set<T>> toSet()

where:

  • T: The type of the input elements.
  • Interface Collector<T, A, R>: A mutable reduction operation that accumulates input elements into a mutable result container, optionally transforming the accumulated result into a final representation after all input elements have been processed. Reduction operations can be performed either sequentially or in parallel.
    • T: The type of input elements to the reduction operation.
    • A: The mutable accumulation type of the reduction operation.
    • R: The result type of the reduction operation.
  • Set: A collection that contains no duplicate elements. More formally, sets contain no pair of elements e1 and e2 such that e1.equals(e2), and at most one null element.

Return Value: A Collector which collects all the input elements into a Set.

Below are the examples to illustrate toSet() method:

Example 1:




// Java code to show the implementation of
// Collectors toSet() function
  
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // creating a Stream of strings
        Stream<String> s = Stream.of("Geeks",
                                     "for",
                                     "GeeksforGeeks",
                                     "Geeks Classes");
  
        // using Collectors toSet() function
        Set<String> mySet = s.collect(Collectors.toSet());
  
        // printing the elements
        System.out.println(mySet);
    }
}


Output:

[Geeks Classes, GeeksforGeeks, Geeks, for]

Example 2:




// Java code to show the implementation of
// Collectors toSet() function
  
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // creating a Stream of strings
        Stream<String> s = Stream.of("1", "2", "3", "4");
  
        // using Collectors toSet() function
        Set<String> mySet = s.collect(Collectors.toSet());
  
        // printing the elements
        System.out.println(mySet);
    }
}


Output:

[1, 2, 3, 4]


Last Updated : 06 Dec, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads