Stream.max() devuelve el elemento máximo de la secuencia en función del comparador proporcionado. Un Comparador es una función de comparación, que impone un ordenamiento total en una colección de objetos. max() es una operación de terminal que combina elementos de flujo y devuelve un resultado resumido. Entonces, max() es un caso especial de reducción. El método devuelve una instancia opcional.
Sintaxis:
Optional<T> max(Comparator<? super T> comparator) Where, Optional is a container object which may or may not contain a non-null value and T is the type of objects that may be compared by this comparator
Excepción: este método arroja NullPointerException si el elemento máximo es nulo.
Ejemplo 1 :
// Implementation of Stream.max() // to get the maximum element // of the Stream according to the // provided Comparator. import java.util.*; import java.util.Optional; import java.util.Comparator; 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.print("The maximum value is : "); // Using stream.max() to get maximum // element according to provided Comparator // and storing in variable var Integer var = list.stream().max(Integer::compare).get(); System.out.print(var); } }
Producción :
The maximum value is : 25
Ejemplo 2:
// Implementation of Stream.max() // to get the maximum element // of the Stream according to the // provided Comparator. import java.util.*; import java.util.Optional; import java.util.Comparator; 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); // Using stream.max() to get maximum // element according to provided Comparator // Here, the smallest element in list // will be stored in variable var Optional<Integer> var = list.stream() .max(Comparator.reverseOrder()); // If a value is present, isPresent() // will return true, else display message if (var.isPresent()) { System.out.println(var.get()); } else { System.out.println("-1"); } } }
Producción :
-18
Ejemplo 3:
// Implementation of Stream.max() // to get the maximum element // of the Stream according to the // provided Comparator. import java.util.*; import java.util.Optional; import java.util.Comparator; class GFG { // Driver code public static void main(String[] args) { // Creating a list of Strings List<String> list = Arrays.asList("G", "E", "E", "K", "g", "e", "e", "k"); // using Stream.max() method with Comparator // Here, the character with maximum ASCII value // is stored in variable MAX String MAX = list.stream().max(Comparator. comparing(String::valueOf)).get(); // Displaying the maximum element in // the stream according to provided Comparator System.out.println("Maximum element in the " + "stream is : " + MAX); } }
Producción :
Maximum element in the stream is : k
Ejemplo 4:
// Implementation of Stream.max() // to get the maximum element // of the Stream according to the // provided Comparator. import java.util.*; import java.util.Optional; import java.util.Comparator; class GFG { // Driver code public static void main(String[] args) { // creating an array of strings String[] array = { "Geeks", "for", "GeeksforGeeks", "GeeksQuiz" }; // Here, the Comparator compares the strings // based on their last characters and returns // the maximum value accordingly // The result is stored in variable MAX Optional<String> MAX = Arrays.stream(array).max((str1, str2) -> Character.compare(str1.charAt(str1.length() - 1), str2.charAt(str2.length() - 1))); // If a value is present, // isPresent() will return true if (MAX.isPresent()) System.out.println(MAX.get()); else System.out.println("-1"); } }
Producción :
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