Java基础 - List的两个子类的特点
2024-10-19 09:35:30
List两个子类的特点
List的两个子类的特点
因为两个类都实现了List接口,所以里面的方法都差不多,那这两个类都有什么特点呢?
- ArrayList:
底层数据结构是数组,查询快,增删慢。
- LinkedList:
底层数据结构是链表,查询慢,增删快。
这个两个个子类有什么区别和共同点?
- ArrayList和LinkedList的区别
ArrayList底层是数组结果,查询和修改快
LinkedList底层是链表结构的,增和删比较快,查询和修改比较慢
共同点:都是线程不安全的
在开发中使用哪个?
查询多用ArrayList
增删多用LinkedList
如果都多ArrayList
ArrayList线程安全的方案
如果使用ArrayList需要考虑线程安全的问题,有两种方案:
- 可以使用Collections工具类中的synchronizedList方法可以将ArrayList变成线程安全的
List list = Collections.synchronizedList(new ArrayList());
- 使用java.util.concurrent包下面的CopyOnWriteArrayList,使用方式跟ArrayList一样
Tips: 这里本来比较它的三个子类的 因为 听说 vector 现在过时了? (底层: 数组 效率慢 但线程安全)
文档出处 - 小猴子1024 博客
最新文章
- ZooKeeper 的羊群效应
- libevent 安装异常
- QT5中全屏显示子窗口和取消全屏的方法
- js事件应用
- 【转】COCOS2D-X之不断变化的数字效果Demo
- 学习hadoop
- android WebView, WebChromeClient和WebViewClient加载网页基本用法
- PHP - Mysql数据库备份类
- Ajax辅助方法
- 实现一个简单的Unity3D三皮卡——3D Picking (1)
- 【Win32API】SendInput ERROR_BUSY 错误原因
- RSA加密算法
- 手把手教你撸一个 Webpack Loader
- 模仿spring-aop的功能,利用注解搭建自己的框架。
- Hibernate 学习之Query查询(HQL查询)
- TFT2.2
- 动态规划-线性dp-hdu-4055
- Android中Service类onStartCommand的返回值问题
- 关于Predynastic Egypt
- tensorflow环境下安装scikit-learn