Android 如何动态添加到double[]?

Android 如何动态添加到double[]?,android,list,double,Android,List,Double,如何动态添加到double[]? 我应该创建一个列表 List<double[]> y = new ArrayList<double[]>(); y.add(new double[15]); y.add(new double[20]); List y=new ArrayList(); y、 增加(新的双[15]); y、 增加(新的双[20]); 并将List转换为double[]?使用List,例如List List=new ArrayList() 将任意数

如何动态添加到double[]? 我应该创建一个列表

List<double[]> y = new ArrayList<double[]>();
y.add(new double[15]);    
y.add(new double[20]);
List y=new ArrayList();
y、 增加(新的双[15]);
y、 增加(新的双[20]);
并将List转换为double[]?

使用
List
,例如
List List=new ArrayList()
将任意数字添加到列表中,然后将列表转换为数组:

Double[]asArray=list.toArray(新的Double[list.size()])

我不确定你到底想完成什么,但让我们看看我是否能解释一些事情

ArrayList
的工作原理类似于一个数组,当您向其中添加项目时,它的大小会自动增长。因此
ArrayList
double[]
非常相似,只是在创建
double[]
后不能更改其大小

例如,
double[]list=newdouble[10]创建一个包含双精度项的数组,但它不能包含超过10个项。另一方面,
List List=new ArrayList()可以容纳10个项目,可以容纳100个项目,还可以容纳数百万个项目,所有这些都无需重新创建列表

让我们看一下动态扩展一个双精度数组:

// Create the array
double[] list = new double[2];
list[0] = 1.1;
list[1] = 2.2;
// Copy the array with space for another entry
list = Arrays.copyOf(list, 3);
// Add another entry to the newly expanded array
list[3] = 3.3;
每当您想要保存的值超过数组的容量时,您都需要创建一个新数组,并将值从一个数组复制到另一个数组(这就是
Arrays.copyOf(…)
所做的)

使用
ArrayList
可以在内部处理所有这些废话,从而简化工作,因此您不必担心维护适当大小的数组

List<Double> list = new ArrayList<Double>();
list.add(1.1);
list.add(2.2);
list.add(3.3);
double[] array = new double[list.size()];
for (int i = 0; i < array.length; i++) {
    array[i] = list.get(i);
}