你可以通过下面的操作来设置数组列表的初始大小
ArrayList<Integer> arr=new ArrayList<Integer>(10);
然而,你不能这样做
arr.add(5, 10);
因为它会导致出界异常。
如果不能访问所分配的空间,那么设置初始大小有什么用呢?
添加函数定义为add(int index, Object element),所以我没有添加到索引10。
你可以通过下面的操作来设置数组列表的初始大小
ArrayList<Integer> arr=new ArrayList<Integer>(10);
然而,你不能这样做
arr.add(5, 10);
因为它会导致出界异常。
如果不能访问所分配的空间,那么设置初始大小有什么用呢?
添加函数定义为add(int index, Object element),所以我没有添加到索引10。
当前回答
我对流的看法。我觉得还是用它比较好
IntStream.generate(i -> MyClass.contruct())
.limit(INT_SIZE)
.collect(Collectors.toList());
可以灵活地设置任何初始值。
其他回答
10是AL的初始容量,而不是size (size是0)。当你要有很多元素时,你应该把初始容量提到一个较高的值,因为它避免了在不断添加元素时扩展容量的开销。
如果你想在数组列表中添加10个元素,你可以这样做:
for (int i = 0; i < 10; i++)
arr.add(i);
如果你已经声明了一个数组大小变量你应该使用变量size而不是数字10
普通发布版. .
List <Destination\> destinations = Collections.nCopies(source.size(), Destination.class.newInstance());
这可能会帮助到一些人
ArrayList<Integer> integerArrayList = new ArrayList<>(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的元素,等等。* /