集合_List三个子类的特点

List的三个子类的特点

    因为三个类都实现了List接口,所以里面的方法都差不多,那这三个类都有什么特点呢?

         ArrayList:底层数据结构是数组,查询快,增删慢。

        线程不安全,效率高。

        Vector:

    底层数据结构是数组,查询快,增删慢。

        线程安全,效率低。

        Vector相对ArrayList查询慢(线程安全的)

        Vector相对LinkedList增删慢数组结构)

        LinkedList:底层数据结构是链表,查询慢,增删快。

        线程不安全,效率高。

    这个三个子类有什么区别和共同点?

        Vector和ArrayList的区别

        Vector是线程安全的,效率低

        ArrayList是线程不安全的效率高

         共同点都是数组实现的

         ArrayList和LinkedList的区别

         ArrayList底层是数组结果,查询和修改快

         LinkedList底层是链表结构的增和删比较快,查询和修改比较慢

         共同点都是线程不安全的

在开发当中使用哪个?


Vector基本_上不再使用了,效率比较较低。

ArrayList线程安全的方案

如果使用ArrayList去替代Vector的话,需要考虑线程安全的问题,有两种方案:

    .可以使用Collections, I具类中的synchronizedList方法可以将ArrayList变成线程安全的

            List list = Collections . synchronizedList(new ArrayL ist());

     使用java.util.concurrent包下面的CopyOnWriteArrayList,使用方式跟ArrayList- -样

Category: Java基础教程标签: Java基 础教程Edit

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容