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