zoukankan      html  css  js  c++  java
  • Java基础 List的两个子类的特点

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

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14671850.html

  • 相关阅读:
    DB2创建序列
    hibernate注解影射表
    自定义异常类一
    【JVM】java方法区
    【JVM】java棧
    (2)java堆内存
    (1)java虚拟机概念和结构图
    枚举应用五
    设计模式之命令模式学习理解
    eclipse中javadoc给项目生成api文档
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14671850.html
Copyright © 2011-2022 走看看