bez*_*oon 6 java arraylist data-structures
anArrayList只是动态数组的接口吗?或者它们是同一回事吗?
like:ArrayList对应动态数组,HashMap对应Map?
除了我没有看到任何类似动态数组的Java API ,除非它是ArrayList?
在那种情况下,它们将是同一回事!
大概它们是同一回事?
是的。简而言之。
更长一点的解释是anArrayList是一个使用数组来存储的集合,而不是链表、双向链表之类的。这意味着它提供了使用数组的所有好处,而 Java 则负责为您(动态)调整数组大小的机制。
我似乎记得初始数组是使用默认的最大大小(可以由用户指定)创建的。如果集合空间不足,则会创建一个更大的数组,并将原始数组的内容复制到新数组中。设置大小的增量是为了防止这种情况经常发生,因为操作成本相当高。
Java也提供了Vector类似的集合,但也是线程安全的,请参见:ArrayList和Vector有什么区别?。