如何为Double [] arraylist添加值

时间:2017-06-10 17:28:35

标签: java arrays arraylist collections

我创建了这个arrayList:

Double[] arrayOfNumbers = new Double[List.size()];

我尝试用这个添加数字:

arrayOfNumbers.add(0.9);

这会给我一条错误消息:

  

无法在数组类型Double []

上调用add(double)

那么,我如何在这个Double[] arraylist中添加该值?

6 个答案:

答案 0 :(得分:3)

那不是ArrayList。那是一个数组。

你可以声明双打的arraylist:

int initialCapacity = 20;
List<Double> doubles = new ArrayList<Double>(initialCapacity);
doubles.add(0.9);

即使初始容量指定为20,您也可以在ArrayList中添加超过20个值。

但要声明一个数组并填充它:

double[] doublesArray = new doubles[20];

doubles[0] = 0.9;
doubles[1] = 0.5;
.....
doubles[19] = 0.7; // 19 is the last index for an array of size 20.

如果您在此处添加的内容超过20,则会获得ArrayIndexOutOfBoundsException

答案 1 :(得分:2)

Double[]不能ArrayList添加到您可以使用的数组中:

Double[] arrayOfNumbers = new Double[List.size()];
arrayOfNumbers[0] = 0.9;

要添加到ArrayList,您可以使用:

List<Double> arrayOfNumbers = new ArrayList<>();
arrayOfNumbers.add(0.9);

答案 2 :(得分:1)

数组和列表是不同的东西。数组没有add方法,但可以通过下标([])运算符分配:

arrayOfNumbers[0] = 0.9;

答案 3 :(得分:1)

  

Double[] arrayOfNumbers = new Double[List.size()]不是列表   这是一个数组。       我们使用[]声明数组,使用&lt;&gt;声明列表和泛型。       例如`

int[]arr=new int[3]是一个包含3个整数的数组,但是List<Integer>list=new ArrayList<>()是一个整数列表(不是原始的整数,你可以像这样编写代码List<int>=new ArrayList<>()

Hope that helps!

答案 4 :(得分:0)

java.util.Listarray(有限predefined size)不同。

如上所述,您无法按上述方式声明/执行,如果您这样做,Java编译器会抱怨。

你正在逐步解决错误,

  

无法在数组类型Double []

上调用add(double)

因为数组(arrayOfNumbers)没有这样的方法(add),你可以在arrayOfNumbers上执行。

然而, 初始化任何类型的数组的一般语法(此处为示例,整数采用FYI)同样,

int intArray[] = {1,2,3}; // initialize at the time of creation
or
int arrayOfNumbers [] = new int[] {1, 2, 3};
or
intArray[index] = 1;

此外,您可以从array切换到List&amp;反之亦然,

List<Integer> list = java.util.Arrays.asList(arrayOfNumbers);

Integer [] intArray = list.toArray(new Integer[list.size()]);

答案 5 :(得分:0)

List是一个Interface,它扩展了另一个名为Collection的界面,因此List是一个CollectionInterface定义和描述行为,它定义了另一个类必须符合的契约,其中一个类称为java.util.ArrayListadd()是在List合同,因为List必须能够将事物添加到其中。 ArrayList是List的一种类型。你创建的不是ArrayList,它是一个Array。

数组是原始数据结构,一旦创建,它的大小就无法更改。如果你想为数组添加一个新元素,你必须创建一个更大的新数组,然后传输所有元素从旧阵列到新阵列。在封面下,ArrayList正是如此。这就是你如何创建一个ArrayList:

//a list of Objects of type `Double`
List<Double> listOfNumbers = new ArrayList<>();

如果你想在这个列表中添加一个元素,你可以这样做:

listOfNumbers.add(5.2);

您似乎仍然需要阅读初学者书籍并练习基本的Java编程。我想建议playlist

这对你很有帮助,记住你只能亲自动手学习,而不是只看别人做的事。