容器--ArrayList、Vector、LinkList

ArrayList、Vector

这两种和数组一样都是顺序存储(比数组方便的是:无需事先定义容器大小),所以通过下标访问速度较快,但在元素中间插入、删除元素,效率较低,需要对元素进行移动。两者不同的是:两者实际在声明时会定义容器大小,当超过这个容量时,会进行扩充,Vector默认扩充为原来的2倍,ArrayList默认扩充原来的1.5倍。

Vector优于ArrayList的地方是:Vector是线程安全的而ArrayList不是。

LinkedList

链式(双向链表存储)方式,对数组索引必须从头开始遍历,但插入、删除效率较高,非线程安全。



线程安全:在一个时间点,只能有一个线程可以修改此对象,任何线程在修改此对象时,都需要获取该对象锁,其他线程则等待对象锁的释放。

你可能感兴趣的:(容器--ArrayList、Vector、LinkList)