List接口集合总结

2021-04-22  本文已影响0人  知道越多不知道越多

常用实现类

Vector(https://www.jianshu.com/p/4752e54bf75c

  1. 底层使用数组存储,默认容器大小为10,可通过构造方法指定容器大小,需要扩容时,扩大为原来的2倍
  2. 通过synchronized来保证线程安全,导致性能降低,并发场景下基本不会使用

ArrayList(https://www.jianshu.com/p/9dec54bd4537

  1. 底层使用数组存储,默认容器大小为10,可通过构造方法指定容器大小,需要扩容时,扩大为原来的1.5倍
  2. 对容器数据删除或者新增时,可能导致数组数据的移动,性能降低,所以如果我们知道存储数据大小,那么就指定容器大小。
  3. 不能保证线程安全,可以通过Collections.synchronizedList(list)来实现线程安全

LinkedList(https://www.jianshu.com/p/601fb5f39816

  1. 底层使用双向链表存储数据,容器大小不受限,当容器数据量变大时,查询效率会成线性增加,不适合在读多写少的场景。
  2. 由于实现了双向链表,所以可以用来实现队列 和 栈
上一篇 下一篇

猜你喜欢

热点阅读