Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

194
Views
How to find the max element from an array list of objects?

Collections.max(arraylist) doesn't work, and a regular for loop won't work either.

What I have is:

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

Collections.max(forecast) gives me this error:

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

The ArrayList holds Forecast objects which each has an int field for the temperature of each day. I am trying to store the max in an int max.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

As your ArrayList contains Forecast objects you'll need to define how the max method should find the maximum element within your ArrayList.

something along the lines of this should work:

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 Report

0

Another solution is use map reduce:

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

In this way you could even use use parallelStream()

over 4 years ago · Santiago Trujillo Report

0

Streams are perfect for these sort of problems.

Forecast highest = forecasts.stream()
                            .max((fc1, fc2) -> fc1.getTemp() - fc2.getTemp())
                            .get();
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!