我创建了这个arrayList:
Double[] arrayOfNumbers = new Double[List.size()];
我尝试用这个添加数字:
arrayOfNumbers.add(0.9);
这会给我一条错误消息:
无法在数组类型Double []
上调用add(double)
那么,我如何在这个Double[]
arraylist中添加该值?
答案 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.List
与array
(有限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
是一个Collection
。 Interface
定义和描述行为,它定义了另一个类必须符合的契约,其中一个类称为java.util.ArrayList
,add()
是在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
这对你很有帮助,记住你只能亲自动手学习,而不是只看别人做的事。