ArrayList | Vector | LinkedList |
---|---|---|
数组方式 | 数组方式 | 双向链表,连接零散内存 |
序号索引 | 前向或后向遍历 | |
插入时移动位置 | 插入时移动位置 | 插入速度较快 |
非线程安全 | 线程安全,性能差 | 非线程安全 |
由于ArrayList和LinkedListed都是非线程安全的,如果遇到多个线程操作同一个容器的场景,则可以通过工具类Collections中的synchronizedList方法将其转换成线程安全的容器后再使用(这是对装潢模式的应用,将已有对象传入另一个类的构造器中创建新的对象来增强实现)。