为什么array.size为'0'?

时间:2013-12-11 19:21:12

标签: java arrays arraylist

我有以下数组:

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();“返回此列表中的元素数。”

我做错了什么?

3 个答案:

答案 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