Related Articles

Related Articles

Stream.distinct() in Java
  • Difficulty Level : Medium
  • Last Updated : 06 Dec, 2018

distinct() returns a stream consisting of distinct elements in a stream. distinct() is the method of Stream interface. This method uses hashCode() and equals() methods to get distinct elements. In case of ordered streams, the selection of distinct elements is stable. But, in case of unordered streams, the selection of distinct elements is not necessarily stable and can change. distinct() performs stateful intermediate operation i.e, it maintains some state internally to accomplish the operation.

Syntax :

Stream<T> distinct()

Where, Stream is an interface and the function
returns a stream consisting of the distinct 
elements.

Below given are some examples to understand the implementation of the function in a better way.
Example 1 :

filter_none

edit
close

play_arrow

link
brightness_4
code

// Implementation of Stream.distinct()
// to get the distinct elements in the List
import java.util.*;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // Creating a list of integers
        List<Integer> list = Arrays.asList(1, 1, 2, 3, 3, 4, 5, 5);
  
        System.out.println("The distinct elements are :");
  
        // Displaying the distinct elements in the list
        // using Stream.distinct() method
        list.stream().distinct().forEach(System.out::println);
    }
}

chevron_right


Output :

The distinct elements are :
1
2
3
4
5

Example 2 :



filter_none

edit
close

play_arrow

link
brightness_4
code

// Implementation of Stream.distinct()
// to get the distinct elements in the List
import java.util.*;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // Creating a list of strings
        List<String> list = Arrays.asList("Geeks", "for", "Geeks",
                                          "GeeksQuiz", "for", "GeeksforGeeks");
  
        System.out.println("The distinct elements are :");
  
        // Displaying the distinct elements in the list
        // using Stream.distinct() method
        list.stream().distinct().forEach(System.out::println);
    }
}

chevron_right


Output :

The distinct elements are :
Geeks
for
GeeksQuiz
GeeksforGeeks

Example 3 :

filter_none

edit
close

play_arrow

link
brightness_4
code

// Implementation of Stream.distinct()
// to get the count of distinct elements
// in the List
import java.util.*;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // Creating a list of strings
        List<String> list = Arrays.asList("Geeks", "for", "Geeks",
                                          "GeeksQuiz", "for", "GeeksforGeeks");
  
        // Storing the count of distinct elements
        // in the list using Stream.distinct() method
        long Count = list.stream().distinct().count();
  
        // Displaying the count of distinct elements
        System.out.println("The count of distinct elements is : " + Count);
    }
}

chevron_right


Output :

The count of distinct elements is : 4

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up
Recommended Articles
Page :