Stream sorted() devuelve un flujo que consta de los elementos de este flujo, ordenados según el orden natural. Para flujos ordenados, el método de clasificación es estable, pero para flujos no ordenados, no se garantiza la estabilidad. Es una operación intermedia con estado , es decir, puede incorporar el estado de elementos vistos previamente al procesar elementos nuevos.
Sintaxis:
Stream<T> sorted() Where, Stream is an interface and T is the type of stream elements.
Excepción: si los elementos de esta secuencia no son comparables, se puede generar una java.lang.ClassCastException cuando se ejecuta la operación de terminal.
A continuación se dan algunos ejemplos para comprender mejor la implementación de la función.
Ejemplo 1 :
// Implementation of Stream.sorted() // to get a stream of elements // sorted in their natural order import java.util.*; class GFG { // Driver code public static void main(String[] args) { // Creating a list of integers List<Integer> list = Arrays.asList(-9, -18, 0, 25, 4); System.out.println("The sorted stream is : "); // displaying the stream with elements // sorted in natural order list.stream().sorted().forEach(System.out::println); } }
The sorted stream is : -18 -9 0 4 25
Ejemplo 2:
// Implementation of Stream.sorted() // to get a stream of elements // sorted in their natural order 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", "GeeksQuiz", "GeeksforGeeks", "GFG"); System.out.println("The sorted stream is : "); // displaying the stream with elements // sorted in their natural order list.stream().sorted().forEach(System.out::println); } }
The sorted stream is : GFG Geeks GeeksQuiz GeeksforGeeks for
Ejemplo 3:
// Using stream sorted to sort a stream // of user defined class objects 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)); // displaying the stream with elements // sorted according to x coordinate aList.stream() .sorted((p1, p2)->p1.x.compareTo(p2.x)) .forEach(System.out::println); } }
1, 100 5, 10 10, 20 50, 2000
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA