如何从具有 int 和 double 值的 ArrayList 中找到最大值?
How to find the maximum value from a ArrayList which has both int and double values?
我试过这个我做错了什么或者我应该怎么做 do.I 我是一名 CS 初学者,正在尝试解决这个问题。我得到的错误是这里的图像格式: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);
}
}
第一步:将列表类型更改为 Number
,它是所有 java 的盒装数字基元的超类。
然后,通过比较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)));
因为所有 int
都可以安全地转换为 Double
,所以这段代码可以完全安全地混合使用双精度数和整数。
我试过这个我做错了什么或者我应该怎么做 do.I 我是一名 CS 初学者,正在尝试解决这个问题。我得到的错误是这里的图像格式: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);
}
}
第一步:将列表类型更改为 Number
,它是所有 java 的盒装数字基元的超类。
然后,通过比较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)));
因为所有 int
都可以安全地转换为 Double
,所以这段代码可以完全安全地混合使用双精度数和整数。