Transmisión ordenada() en Java

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);
    }
}
Producción:

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);
    }
}
Producción:

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);
    }
}
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *