Stream.distinct() in Java
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 :
import java.util.*;
class GFG {
public static void main(String[] args)
{
List<Integer> list = Arrays.asList( 1 , 1 , 2 , 3 , 3 , 4 , 5 , 5 );
System.out.println( "The distinct elements are :" );
list.stream().distinct().forEach(System.out::println);
}
}
|
Output :
The distinct elements are :
1
2
3
4
5
Example 2 :
import java.util.*;
class GFG {
public static void main(String[] args)
{
List<String> list = Arrays.asList( "Geeks" , "for" , "Geeks" ,
"GeeksQuiz" , "for" , "GeeksforGeeks" );
System.out.println( "The distinct elements are :" );
list.stream().distinct().forEach(System.out::println);
}
}
|
Output :
The distinct elements are :
Geeks
for
GeeksQuiz
GeeksforGeeks
Example 3 :
import java.util.*;
class GFG {
public static void main(String[] args)
{
List<String> list = Arrays.asList( "Geeks" , "for" , "Geeks" ,
"GeeksQuiz" , "for" , "GeeksforGeeks" );
long Count = list.stream().distinct().count();
System.out.println( "The count of distinct elements is : " + Count);
}
}
|
Output :
The count of distinct elements is : 4
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...