【发布时间】:2014-09-30 22:55:09
【问题描述】:
我遇到了一个问题,我必须将 N 个数字的列表存储在一个数组中,然后对其进行排序,
然后我必须在其他位置添加数字并输出总和。
问题是 N 的约束,即 0 11 所以我必须将 N 声明为 double 类型变量这里是我的代码:
ArrayList<Double> myList = new ArrayList<Double>();
myList.add(number);
.....
Collections.sort(myList);
String tempNo = "";
for(double i = 0 ; i < myList.size() ; i=i+2){
tempNo = myStringWayToAdd(tempNo , myList(i)+""); // Since the sum will exceed the limit of double I have to add the numbers by help of Strings
}
但问题是get(int)方法采用int而不是double。有没有其他方法可以解决问题? ,并且是否允许存储超过int范围的元素数量?
任何帮助将不胜感激。先感谢您。
编辑 1: 我可以在
ArrayList 中使用字符串而不是double,然后将数字相加,但我的问题是我需要存储可能超出整数范围的 N 个元素
【问题讨论】:
-
get(int)用于获取数组列表中元素的特定索引。get(0)获取第一个元素。 -
据记载,您可以存储多个 Integer.MAX_VALUE 值。顺便说一句,要存储 20 亿个
Double对象,您至少需要 64 GB 的内存。 -
祝您在内存中处理超过 20 亿个对象时一切顺利。
-
@Compass 是的,我想在备用索引处获取号码并添加它们
-
@user3921830 啊哈!我会写出来:3