如何動態添加到double []? 我應該創建一個列表...如何動態添加到double []?
List<double[]> y = new ArrayList<double[]>();
y.add(new double[15]);
y.add(new double[20]);
,並轉換列表翻番[]?
如何動態添加到double []? 我應該創建一個列表...如何動態添加到double []?
List<double[]> y = new ArrayList<double[]>();
y.add(new double[15]);
y.add(new double[20]);
,並轉換列表翻番[]?
使用List<Double>
如List<Doulble> list = new ArrayList<Double>();
添加任何數量的列表,然後將列表轉換爲數組: Double[] asArray = list.toArray(new Double[list.size()]);
我不能確定你要完成什麼,但讓我們看看我可以闡明一些事情。
ArrayList
的工作方式類似於將數據添加到數組時會自動增大的數組。所以ArrayList<Double>
與double[]
非常相似,只是在創建後不能更改double[]
的大小。
例如,double[] list = new double[10];
會創建一個數組來保存雙打,但它永遠不能保存超過10個項目。另一方面,List<Double> 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<Double>
通過在內部處理所有這些廢話簡化了事情,因此您不必擔心維護一個正確大小的數組。
List<Double> list = new ArrayList<Double>();
list.add(1.1);
list.add(2.2);
list.add(3.3);
您可以繼續添加,而不用擔心您的ArrayList
的實際尺寸是多少。您可以用ArrayList<Double>
代替double[]
。如果你需要把你的ArrayList<Double>
爲double[]
無論出於何種原因,這是相當簡單的事情:
double[] array = new double[list.size()];
for (int i = 0; i < array.length; i++) {
array[i] = list.get(i);
}
我case.Thanks大家減分也無濟於事:( – Arnes