簡體   English   中英

如何從同時具有 int 和 double 值的 ArrayList 中找到最大值?

[英]How to find the maximum value from a ArrayList which has both int and double values?

我試過這個我做錯了什么或者我應該做什么。我是一名初學者 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);
       }
}

第一步:將 List 類型更改為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 ,因此此代碼可以完全安全地混合使用雙精度數和整數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM