Java集合系列——List
来源:互联网 发布:知乎哲理段落 编辑:程序博客网 时间:2024/06/07 23:21
List类图
待补充
ArrayList
使用数组,在容量不足时会Arrays.copyOf获取更大容量的数组。
默认初始10,扩容1/2
顺序、随机访问效率高,插入/删除效率低
fail-fast实现,非线程安全
LinkedList
双向链表实现,自带表头
顺序访问效率高,随机效率低(由于是双向链表,随机访问时根据索引值判断从头或尾开始查找),插入/删除效率高
支持deque借口,可用过队列
fail-fast实现,非线程安全
Vector
结构同ArrayList
默认初始为10,扩容1倍
线程安全,读写均是强一致性,通过 synchronized修饰相关方法,利用了对象锁。
Stack
继承vector,提供栈的操作方法
CopyOnWriteArrayList
数据结构等同于ArrayList
写时复制,ReentrantLock保证写时强一致性,每次写时,扩容大小正好容纳新的元素,不会有多余的容量。
读时弱一致性,读的可能老数据
适用于读多写少的并发场景,比如黑名单、白名单等等,并最好使用批量插入的高效方法。
阅读全文
0 0
- Java集合系列——List
- java集合系列——List集合总结(六)
- Java集合—List集合
- java集合系列04 List
- java集合系列——List集合之ArrayList介绍(二)
- java集合系列——List集合之LinkedList介绍(三)
- java集合系列——List集合之Vector介绍(四)
- java集合系列——List集合之Stack介绍(五)
- java集合(三)——集合 List
- java集合框架—List
- JAVA—List集合总结
- Java集合框架—List
- java的集合类List系列(一)
- java 集合类List系列(二)
- java集合类List系列(三)
- Java集合系列(5)--List总结
- 疯狂Java系列之List集合
- Java——Java集合List
- js中几种实用的跨域方法原理详解
- 2017年Android百大框架排行榜
- numpy数组合并
- Redis之主从复制
- FreeSwitch Lua编程接口(1)dialplan里的配置
- Java集合系列——List
- 2017年上半年阅读书单
- window 上传文件到 Linux
- PAT乙级 1058. 选择题(20)
- 数据库表的复杂操作
- ArcGIS API For JavaScript——空间查询(FindTask和IdentifyTask)
- springMVC后台校验实现
- 插入排序
- [leetcode]84. Largest Rectangle in Histogram(Java)