Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

200
Vistas
¿Cómo encontrar el elemento máximo de una lista de matriz de objetos?

Collections.max(arraylist) no funciona, y un bucle for normal tampoco funcionará.

lo que tengo es:

 ArrayList<Forecast> forecasts = current.getForecasts();

Collections.max(forecast) me da este error:

 The method max(Collection<? extends T>) in the type Collections is not applicable for the arguments (ArrayList<Forecast>)

ArrayList contiene objetos de Forecast , cada uno de los cuales tiene un campo int para la temperatura de cada día. Estoy tratando de almacenar el máximo en un int max.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Como su ArrayList contiene objetos Forecast , deberá definir cómo el método max debe encontrar el elemento máximo dentro de su ArrayList .

algo a lo largo de las líneas de esto debería funcionar:

 ArrayList<Forecast> forecasts = new ArrayList<>(); // Forecast object which has highest temperature Forecast element = Collections.max(forecasts, Comparator.comparingInt(Forecast::getTemperature)); // retrieve the maximum temperature int maxTemperature = element.getTemperature();
over 4 years ago · Santiago Trujillo Denunciar

0

Otra solución es usar map reduce:

 Optional<Forecast> element = forecasts .stream() .reduce((a,b) -> a.getTemperature() > b.getTemperature() ? a : b );

De esta manera, incluso podrías usar parallelStream()

over 4 years ago · Santiago Trujillo Denunciar

0

Las transmisiones son perfectas para este tipo de problemas.

 Forecast highest = forecasts.stream() .max((fc1, fc2) -> fc1.getTemp() - fc2.getTemp()) .get();
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda