因为三个类都实现了List接口,所以里面的方法都差不多,那这三个类都有什么特点呢?
- ArrayList:
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高。 - Vector:
底层数据结构是数组,查询快,增删慢。
线程安全,效率低。
Vector相对ArrayList查询慢(线程安全的)
Vector相对 edList增删慢(数组结构) - edList:
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高。
这个三个子类有什么区别和共同点?
-
Vector和ArrayList的区别
Vector是线程安全的,效率低
ArrayList是线程不安全的,效率高
共同点:都是数组实现的 -
ArrayList和 edList的区别
ArrayList底层是数组结果,查询和修改快
edList底层是链表结构的,增和删比较快,查询和修改比较慢
共同点:都是线程不安全的
在开发中使用哪个?
查询多用ArrayList
增删多用 edList
如果都多ArrayList
Vector基本上不再使用了,效率比较较低。
ArrayList线程安全的方案
如果使用ArrayList去替代Vector的话,需要考虑线程安全的问题,有两种方案:
可以使用Collections工具类中的synchronizedList方法可以将ArrayList变成线程安全的
List list = Collections.synchronizedList(new ArrayList());
使用java.util.concurrent包下面的CopyOnWriteArrayList,使用方式跟ArrayList一样
继续阅读与本文标签相同的文章
上一篇 :
别大意!出现这5个情况说明你的手机已被监控!
下一篇 :
DL应用:query生成和query推荐
-
斩获2019中国金融科技创新大赛金奖,蚂蚁金服mPaaS助力打造超级App生态
2026-05-19栏目: 教程
-
有呀!互联网icp许可证除申请以外有转让的吗?飞起
2026-05-19栏目: 教程
-
Apache Zepplin使用Hive Interpreter查询
2026-05-19栏目: 教程
-
大宗货运如何实现“重去重回”?
2026-05-19栏目: 教程
-
企业官网怎么选择合适的阿里云服务器ECS(新手参考)
2026-05-19栏目: 教程
