你可以通过下面的操作来设置数组列表的初始大小

ArrayList<Integer> arr=new ArrayList<Integer>(10);

然而,你不能这样做

arr.add(5, 10);

因为它会导致出界异常。

如果不能访问所分配的空间,那么设置初始大小有什么用呢?

添加函数定义为add(int index, Object element),所以我没有添加到索引10。


当前回答

如果你想使用集合。填充(列表,obj);为了用重复的对象填充列表,您可以使用

ArrayList<Integer> arr=new ArrayList<Integer>(Collections.nCopies(10, 0));

这一行将10乘以0复制到数组列表中

其他回答

普通发布版. .

List <Destination\> destinations = Collections.nCopies(source.size(), Destination.class.newInstance());

如果要添加带有索引的元素,则可以使用数组。

    String [] test = new String[length];
    test[0] = "add";

如果你想要一个预定义大小的列表,你也可以使用:

List<Integer> arr = Arrays.asList(new Integer[10]);

myList = new ArrayList(10);

//  myList.add(3, "DDD");
//  myList.add(9, "III");
    myList.add(0, "AAA");
    myList.add(1, "BBB");

    for(String item:myList){
        System.out.println("inside list : "+item);
    }

/*在内部声明数组列表的初始容量只是为了节省移位时间;当我们在内部添加元素时,它会检查容量以增加容量,你可以先添加索引为0的元素,然后再添加索引为1的元素,等等。* /

10是AL的初始容量,而不是size (size是0)。当你要有很多元素时,你应该把初始容量提到一个较高的值,因为它避免了在不断添加元素时扩展容量的开销。