我有以下数组:
ArrayList<Integer> myArray = new ArrayList<Integer>();
我还有一个变量'someNum':
int someNum = 12;
我的代码:
public class Main {
public static void main(String[] args){
int someNum = 12;
ArrayList<Integer> myArray = new ArrayList<Integer>(someNum);
int arraySize = myArray.size();
System.out.println(arraySize);
}
}
控制台:'0'
为什么打印'0'
?
我检查了ArrayList文档的状态array.size();
“返回此列表中的元素数。”
我做错了什么?
答案 0 :(得分:9)
大小为0,因为您尚未添加任何成员。构造函数的参数是初始容量,而不是初始大小(或第一个元素)。
答案 1 :(得分:3)
中使用的构造函数
ArrayList<Integer> myArray = new ArrayList<Integer>(someNum);
设置ArrayList
的初始容量。这与ArrayList
。
答案 2 :(得分:2)
您正在调用ArrayList
constructor作为参数接受列表的初始容量。
你想要
myArray = new ArrayList<Integer>();
myArray.add(someNum);
此时myArray.size()
将返回1
。