En este tutorial, aprenderemos cómo encontrar el valor mínimo y máximo de un flujo de elementos comparables como caracteres, cadenas, fechas, etc.

Usamos el métodos min () y max () para encontrar el valor mínimo y máximo en los caudales. Estos métodos se utilizan para encontrar valores mínimos y máximos en diferentes tipos de secuencias, como secuencias de caracteres, cadenas, fechas, etc. Solo necesitamos cambiar el parámetro que pasamos en este método según el tipo de flujo.

Por ejemplo:

max (Comparator.comparing (Integer :: valueOf)): para obtener el valor máximo del flujo numérico.
max (Comparator.comparing (LocalDate :: toEpochDay)): para obtener la fecha máxima del flujo de fechas.

Como puede ver, usamos el método Comparator.comparing () para comparar los elementos del flujo. Este mismo método se utiliza para comparar elementos de todos los tipos de secuencias, como secuencias de caracteres, cadenas, fechas, etc. Solo el parámetro cambiará según el tipo de flujo.

Encuentre el número mínimo y máximo de un flujo de números

En este ejemplo, estamos encontrando el valor mínimo y máximo de un flujo de números.

import java.util.Comparator;
import java.util.stream.*;
public class JavaExample{
   public static void main(String args[]) {
		
	//getting max number
	Integer maxnum = Stream.of(10, 13, 4, 9, 2, 100)
	                    .max(Comparator.comparing(Integer::valueOf))
	                    .get();
		 
	//getting min number
	Integer minnum = Stream.of(10, 13, 4, 9, 2, 100)
	                    .min(Comparator.comparing(Integer::valueOf))
	                    .get();
		 
	System.out.println("Max number is: " + maxnum);
	System.out.println("Min number is: " + minnum);
   }
}

Producción:
Ejemplo de número mínimo y máximo de secuencias de Java 8

Encuentre la fecha mínima y máxima de la secuencia de fechas

Encuentre la fecha mínima y máxima de una serie de fechas utilizando el método mínimo y máximo.

import java.util.Comparator;
import java.time.LocalDate;
import java.util.List;
import java.util.Arrays;
public class JavaExample{
   public static void main(String args[]) {
		
	List<LocalDate> dates = Arrays.asList(LocalDate.now(), 
				LocalDate.now().minusDays(9),
				LocalDate.now().minusMonths(2),
				LocalDate.now().minusDays(30));
		
	//getting max date
	LocalDate maxdate = dates.stream()
              .max( Comparator.comparing( LocalDate::toEpochDay ) )
              .get();
		 
	//getting min date
	LocalDate mindate = dates.stream()
              .min( Comparator.comparing( LocalDate::toEpochDay ) )
              .get();
		 
	System.out.println("Max Date is: " + maxdate);
	System.out.println("Min Date is: " + mindate);
   }
}

Producción:
Java 8 Min Max fecha

leer  Java 8 Stream: ejemplo de anyMatch ()

Encuentra la cadena con el primer carácter mínimo y máximo

import java.util.Comparator;
import java.util.stream.*;
public class JavaExample{
   public static void main(String args[]) {
	// Get Min or Max String/Char
	String maxFirstChar = Stream.of("Aryan", "Tom", "Harry", "Steve")
			.max(Comparator.comparing(String::valueOf))
			.get();

	String minFirstChar = Stream.of("Aryan", "Tom", "Harry", "Steve")
			.min(Comparator.comparing(String::valueOf))
			.get();

	System.out.println("String with max first char: " + maxFirstChar);
	System.out.println("String with min first char: " + minFirstChar);
   }
}

Producción:
Java 8 min max

Por avivcas

Deja una respuesta

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