将单个元素添加到ArrayList会添加另外11个null元素吗?

| 我正在填充点的ArrayList \'pts \'。 对我来说,这似乎很简单,但是在运行之后,arraylist中有空元素。
for(int i =0; i< currentt.getPointCount();i++){
   File pXml = new File(tourFolderPath + \"point_\" + (i+1) +\".xml\");
   if (pXml.exists()){
      pt = (Point)MXP.createObject(pXml, 2);
   }
   pts.add(pt);
}
在调试器中检查之后,似乎第一次运行“ pts.add(pt); \”行会添加一个合法的point元素。但是,它还会添加其他10个null元素。 有任何想法吗?     
已邀请:
ArrayList
的初始容量为10。     
我只是在调试器中运行了一个简单的程序,您将看到每个人都在谈论什么。 初始化它将创建10个空条目。这些空条目不可访问。 这就是为什么大小显示为0的原因。 如果添加元素,大小将更改为1。     
如果通过调试器查看ArrayList,则可能会看到它的后备阵列,并且此阵列与ArrayLists的容量一样长。 后备阵列有意地拥有比当前插入的元素数更多的插槽。这样可以加快插入速度,因为不需要为要求存储的每个元素重新分配数组。 如果查看ArrayList的
size
属性,则可能会看到正确数量的元素。     
pXml.exists()
第一次是
true
,其他时候是and5ѭ。 即使不存在
pXml
,也要加上
pt
。 请显示更多代码。     
当您生成ѭ8时,它将创建一个初始容量等于10的值。您可以通过将int传递给构造函数来更改此行为。在这里阅读更多。     

要回复问题请先登录注册