ArrayList
ArrayList 是基于数组实现的,拥有数组结构的相关特性,有序 。
内部属性elementData数组 就是ArrayList的内部容器。
在没指定容量大小,第一次添加元素时,将扩展到默认容量10(DEFAULT_CAPACITY),容量不够将自动扩容,每次增加1/2,所以初始化容量是很有必要的操作,能减少很多次无谓的扩容操作。
数组结构的特性,查找很快,添加和删除需要移动下标 所以导致效率很慢,但是如果在末端增加删除,效率是没问题的。(相当于栈结构)
PS:add(int index, E element)指定索引添加才效率低,
add(E e) 是添加在数组末端的实现。PS:循环ArrayList时,是不能调用remove(E element)的,需要删除使用迭代器。
网友评论