Reputation: 11
I tried this what am i doing wrong or what should i do.I am a beginner CS student trying to solve this question. The error i get is in image format here: Error i get when i try to runprogram
import java.util.*;
public class maximum
{
public static void main(String[]args)
{
//Creates new array list
ArrayList list = new ArrayList();
//Adds the numbers in the ArrayList
Collections.addAll(list,5,2,-8,9,5.5,7,0);
//Stores the highest number in new arraylist
ArrayList highestNumber = new ArrayList();
highestNumber.add(Collections.max(list));
// Prints highestNumber
System.out.println(highestNumber);
}
}
Upvotes: 0
Views: 138
Reputation: 425033
First step: Change the List type to Number
, which is the superclass of all java's boxed numeric primitives.
Then, find the max by comparing Number#doubleValue()
:
ArrayList<Number> list = new ArrayList<>();
Collections.addAll(list, 5, 2, -8, 9, 5.5, 7, 0);
ArrayList<Number> highestNumber = new ArrayList<>();
highestNumber.add(Collections.max(list, Comparator.comparing(Number::doubleValue)));
Since all int
may be safely converted to a Double
, this code is completely safe to use with a mix of doubles and ints.
Upvotes: 1