Método de secuencia ordenada (comparador comparador) en Java

Stream sorted(Comparator comparador) devuelve un flujo que consta de los elementos de este flujo, ordenados de acuerdo con el Comparator proporcionado . 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. En Java 8, se puede crear una instancia de Comparator mediante la expresión lambda . También podemos invertir el ordenamiento natural así como el ordenamiento proporcionado por Comparator.
Sintaxis:

Stream<T> sorted(Comparator<? super T> comparator)

Where, Stream is an interface and T
is the type of stream elements.
comparator is used to compare stream elements.

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 sorted elements
// according to the provided Comparator
import java.util.*;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // Creating a list of Integers
        List<Integer> list = Arrays.asList(5, -10, 7, -18, 23);
  
        System.out.println("The sorted stream according "
                           + "to provided Comparator is : ");
  
        // Displaying the list of Strings in
        // reverse order after sorting
        list.stream().sorted(Comparator.reverseOrder()).
                          forEach(System.out::println);
    }
}

Producción :

The sorted stream according to provided Comparator is : 
23
7
5
-10
-18

Ejemplo 2:

// Implementation of Stream.sorted()
// to get a stream of sorted elements
// according to the provided Comparator
import java.util.*;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // Creating a list of Strings
        List<String> list = Arrays.asList("Geeks", "for",
                    "GeeksforGeeks", "GeeksQuiz", "GFG");
  
        System.out.println("The sorted stream according "
                           + "to provided Comparator is : ");
  
        // Displaying the list of Strings in
        // reverse order after sorting
        list.stream().sorted(Comparator.reverseOrder()).
                            forEach(System.out::println);
    }
}

Producción :

The sorted stream according to provided Comparator is : 
for
GeeksforGeeks
GeeksQuiz
Geeks
GFG

Ejemplo 3:

// Implementation of Stream.sorted()
// to get a stream of sorted elements
import java.util.*;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // Creating an array of Strings
        String[] array = { "GFG", "Geeks", "for",
                           "GeeksforGeeks", "GeeksQuiz" };
  
        System.out.println("The sorted stream is :");
  
        // sorting the elements of array based
        // on their last character
        Stream.of(array).sorted((str1, str2)
                     -> Character.compare(str1
                     .charAt(str1.length() - 1),
                    str2.charAt(str2.length() - 1)))
            .         forEach(System.out::println);
    }
}

Producción :

The sorted stream is :
GFG
for
Geeks
GeeksforGeeks
GeeksQuiz

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 *