1  import java.util.ArrayList;
  2  import java.math.*;
  3  
  4  public class LargestNumbers {
  5    public static void main(String[] args) {
  6      ArrayList<Number> list = new ArrayList<>();
  7      list.add(45); // Add an integer
  8      list.add(3445.53); // Add a double
  9      // Add a BigInteger
 10      list.add(new BigInteger("3432323234344343101")); 
 11      // Add a BigDecimal
 12      list.add(new BigDecimal("2.0909090989091343433344343")); 
 13      
 14      System.out.println("The largest number is " + 
 15        getLargestNumber(list));
 16    }
 17    
 18    public static Number getLargestNumber(ArrayList<Number> list) {
 19      if (list == null || list.size() == 0) 
 20        return null;
 21      
 22      Number number = list.get(0);
 23      for (int i = 1; i < list.size(); i++)
 24        if (number.doubleValue() < list.get(i).doubleValue()) 
 25          number = list.get(i);
 26      
 27      return number;
 28    }
 29  }