NOTE

5.19 List对比

1. ArrayList vs LinkedList ArrayList LinkedList ----------- ---------------------------------------------------- -------------------- 底层实现 数组 双向链表 复杂度

Java创建于 更新于 historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. ArrayList vs LinkedList

ArrayList LinkedList
底层实现 数组 双向链表
复杂度 根据索引查询快,增删慢 根据索引查询慢、增删快
是否需要扩容 初始值0,满了之后扩容。第一次扩容为10,扩容为原来的1.5倍

2. Vector vs ArrayList

Vector ArrayList
是否线程安全
是否需要扩容 初始值10,满了之后扩容。扩容为原来的2倍 初始值0,满了之后扩容。第一次扩容为10,扩容为原来的1.5倍

3. SynchronizedList vs Vector

SynchronizedList Vector
是否线程安全
同步方式 sychronized块,使用当前list作为锁对象。可以将任意list转换成线程安全的 sychronized方法,使用当前list作为锁对象

4. 参考