collection
list 接口
-
有序的
-
允许多个null元素
-
具体的实现有常用的Arraylist,Vector,LinkedList
ArrayList
-
实现原理:采用动态对象数组,默认构造方法创建了一个空数组
-
第一次添加元素,扩展容量为10
-
不适合进行插入或删除操作
-
为了防止动态数组扩充次数过多,建议创建ArrayList时给定初始容量
-
线程不安全,适合单线程访问时使用
Vector
-
实现原理:采用动态对象数组,默认构造方法创建了一个大小为10的对象数组
-
扩充的算法:增量为0时,扩充为原来的两倍,增量大于0时扩充为原来大小+增量
-
不适合进行插入或删除操作
-
为了防止动态数组扩充次数过多,建议创建Vector时给定初始容量
-
线程安全,适合在多线程访问时使用,在单线程下使用效率较低
LinkedList
-
实现原理:采用双向链表结构实现
-
适合插入和删除操作,性能高