Stream sorted() returns a stream consisting of the elements of this stream, sorted according to natural order. For ordered streams, the sort method is stable but for unordered streams, no stability is guaranteed. It is a stateful intermediate operation i.e, it may incorporate state from previously seen elements when processing new elements.
Syntax :
Stream<T> sorted()
Where, Stream is an interface and T
is the type of stream elements.
Exception : If the elements of this stream are not Comparable, a java.lang.ClassCastException may be thrown when the terminal operation is executed.
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(- 9 , - 18 , 0 , 25 , 4 );
System.out.println( "The sorted stream is : " );
list.stream().sorted().forEach(System.out::println);
}
}
|
Output:
The sorted stream is :
-18
-9
0
4
25
Example 2 :
import java.util.*;
class GFG {
public static void main(String[] args)
{
List<String> list = Arrays.asList( "Geeks" , "for" ,
"GeeksQuiz" , "GeeksforGeeks" , "GFG" );
System.out.println( "The sorted stream is : " );
list.stream().sorted().forEach(System.out::println);
}
}
|
Output:
The sorted stream is :
GFG
Geeks
GeeksQuiz
GeeksforGeeks
for
Example 3 :
import java.util.*;
class Point
{
Integer x, y;
Point(Integer x, Integer y) {
this .x = x;
this .y = y;
}
public String toString() {
return this .x + ", " + this .y;
}
}
class GFG
{
public static void main(String[] args)
{
List<Point> aList = new ArrayList<>();
aList.add( new Point( 10 , 20 ));
aList.add( new Point( 5 , 10 ));
aList.add( new Point( 1 , 100 ));
aList.add( new Point( 50 , 2000 ));
aList.stream()
.sorted((p1, p2)->p1.x.compareTo(p2.x))
.forEach(System.out::println);
}
}
|
Output:
1, 100
5, 10
10, 20
50, 2000
Feeling lost in the vast world of Backend Development? It's time for a change! Join our
Java Backend Development - Live Course and embark on an exciting journey to master backend development efficiently and on schedule.
What We Offer:
- Comprehensive Course
- Expert Guidance for Efficient Learning
- Hands-on Experience with Real-world Projects
- Proven Track Record with 100,000+ Successful Geeks
Last Updated :
06 Dec, 2018
Like Article
Save Article