Colectores maxBy(Comparator< ? super T > comparador) se utiliza para encontrar un elemento de acuerdo con el comparador pasado como parámetro. Devuelve un Collector que produce el elemento máximo de acuerdo con un Comparator dado, descrito como Optional<T> .
Sintaxis:
public static <T> Collector<T, ?, Optional<T>> maxBy(Comparator<? super T> comparator)
donde los términos utilizados son los siguientes:
- Interface Collector<T, A, R> : una operación de reducción mutable que acumula elementos de entrada en un contenedor de resultados mutable, transformando opcionalmente el resultado acumulado en una representación final después de que se hayan procesado todos los elementos de entrada. Las operaciones de reducción se pueden realizar secuencialmente o en paralelo.
- T: El tipo de elementos de entrada a la operación de reducción.
- A: El tipo de acumulación mutable de la operación de reducción.
- R: El tipo de resultado de la operación de reducción.
- Opcional: un objeto contenedor que puede contener o no un valor no nulo. Si hay un valor presente, isPresent() devolverá verdadero y get() devolverá el valor.
- Comparador: una función de comparación, que impone un orden total en una colección de objetos. Los comparadores se pueden pasar a un método de clasificación para permitir un control preciso sobre el orden de clasificación. Los comparadores también se pueden usar para controlar el orden de ciertas estructuras de datos (como conjuntos ordenados o mapas ordenados) o para proporcionar un orden para colecciones de objetos que no tienen un orden natural.
Parámetros: Este método toma un comparador de parámetros de tipo Comparator, que es una función de comparación, que impone un ordenamiento total en alguna colección de objetos. Los comparadores se pueden pasar a un método de clasificación para permitir un control preciso sobre el orden de clasificación. Los comparadores también se pueden usar para controlar el orden de ciertas estructuras de datos (como conjuntos ordenados o mapas ordenados) o para proporcionar un orden para colecciones de objetos que no tienen un orden natural.
Valor devuelto: este método devuelve un recopilador que produce el valor máximo de acuerdo con el comparador pasado.
A continuación se muestran algunos ejemplos para ilustrar la implementación de maxBy():
Programa 1:
// Java code to show the implementation of // Collectors maxBy(Comparator comparator) function import java.util.Comparator; import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; class GFG { // Driver code public static void main(String[] args) { // creating a Stream of strings Stream<String> s = Stream.of("2", "3", "4", "5"); // using Collectors maxBy(Comparator comparator) // and finding the maximum element // in reverse order Optional<String> obj = s .collect(Collectors .maxBy(Comparator .reverseOrder())); // if present, print the element // else print the message if (obj.isPresent()) { System.out.println(obj.get()); } else { System.out.println("no value"); } } }
2
Ejemplo 2:
// Java code to show the implementation of // Collectors maxBy(Comparator comparator) function import java.util.Comparator; import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; class GFG { // Driver code public static void main(String[] args) { // creating a Stream of strings Stream<String> s = Stream.of(); // using Collectors maxBy(Comparator comparator) // and finding the maximum element // in reverse order Optional<String> obj = s .collect(Collectors .maxBy(Comparator .reverseOrder())); // if present, print the element // else print the message if (obj.isPresent()) { System.out.println(obj.get()); } else { System.out.println("no value"); } } }
no value
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