NOTE

5.19 List对比

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

Java创建于 更新于 约 1 分钟读完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. 参考

讨论

使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看