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 博客

最新文章

  1. ZooKeeper 的羊群效应
  2. libevent 安装异常
  3. QT5中全屏显示子窗口和取消全屏的方法
  4. js事件应用
  5. 【转】COCOS2D-X之不断变化的数字效果Demo
  6. 学习hadoop
  7. android WebView, WebChromeClient和WebViewClient加载网页基本用法
  8. PHP - Mysql数据库备份类
  9. Ajax辅助方法
  10. 实现一个简单的Unity3D三皮卡——3D Picking (1)
  11. 【Win32API】SendInput ERROR_BUSY 错误原因
  12. RSA加密算法
  13. 手把手教你撸一个 Webpack Loader
  14. 模仿spring-aop的功能,利用注解搭建自己的框架。
  15. Hibernate 学习之Query查询(HQL查询)
  16. TFT2.2
  17. 动态规划-线性dp-hdu-4055
  18. Android中Service类onStartCommand的返回值问题
  19. 关于Predynastic Egypt
  20. tensorflow环境下安装scikit-learn

热门文章

  1. Redis 博文索引
  2. 微信小程序:如何删除所有的console.log?
  3. Vue使用&nbsp空白占位符
  4. Linux安装与使用
  5. 关于 HTTP 后端人员需要了解的 20+ 图片!
  6. 【转】理解Serverless
  7. 后端程序员之路 7、Zookeeper
  8. 不用代码趣讲 ZooKeeper 集群
  9. 剑指 Offer 56 - I. 数组中数字出现的次数 + 分组异或
  10. CCF(JSON查询:40分):字符串+模拟