IntStream sorted() returns a stream consisting of the elements of this stream in sorted order. It is a stateful intermediate operation i.e, it may incorporate state from previously seen elements when processing new elements. Stateful intermediate operations may need to process the entire input before producing a result. For example, one cannot produce any results from sorting a stream until one has seen all elements of the stream.
Syntax :
IntStream sorted() Where, IntStream is a sequence of primitive int-valued elements. This is the int primitive specialization of Stream.
Exception : If the elements of this stream are not Comparable, a java.lang.ClassCastException may be thrown when the terminal operation is executed.
Return Value : IntStream sorted() method returns the new stream.
Example 1 : Using IntStream sorted() to sort the numbers in given IntStream.
// Java code to sort IntStream // using IntStream.sorted() import java.util.*; import java.util.stream.IntStream;   class GFG {       // Driver code     public static void main(String[] args)     {         // Creating an IntStream         IntStream stream = IntStream.of( 10 , 9 , 8 , 7 , 6 );           // displaying the stream with sorted elements         // using IntStream.sorted() function         stream.sorted().forEach(System.out::println);     } } |
6 7 8 9 10
Example 2 : Using IntStream sorted() to sort the random numbers generated by IntStream generator().
// Java code to sort IntStream // using IntStream.sorted() import java.util.*; import java.util.stream.IntStream;   class GFG {       // Driver code     public static void main(String[] args)     {         // Creating an IntStream by generating         // random elements using IntStream.generate()         IntStream stream = IntStream.generate(()                           -> ( int )(Math.random() * 10000 ))                              .limit( 5 );           // displaying the stream with sorted elements         // using IntStream.sorted() function         stream.sorted().forEach(System.out::println);     } } |
501 611 7991 8467 9672