Java集合系列——List

List类图

待补充

ArrayList

使用数组,在容量不足时会Arrays.copyOf获取更大容量的数组。
默认初始10,扩容1/2
顺序、随机访问效率高,插入/删除效率低
fail-fast实现,非线程安全

LinkedList

双向链表实现,自带表头
顺序访问效率高,随机效率低(由于是双向链表,随机访问时根据索引值判断从头或尾开始查找),插入/删除效率高
支持deque借口,可用过队列
fail-fast实现,非线程安全

Vector

结构同ArrayList
默认初始为10,扩容1倍
线程安全,读写均是强一致性,通过 synchronized修饰相关方法,利用了对象锁。

Stack

继承vector,提供栈的操作方法

CopyOnWriteArrayList

数据结构等同于ArrayList
写时复制,ReentrantLock保证写时强一致性,每次写时,扩容大小正好容纳新的元素,不会有多余的容量。
读时弱一致性,读的可能老数据
适用于读多写少的并发场景,比如黑名单、白名单等等,并最好使用批量插入的高效方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值