zoukankan      html  css  js  c++  java
  • Vector、ArrayList和LinkedList的异同

    Vector、ArrayList和LinkedList的异同

        Vector、ArrayList、LinkedList都是List集合的实现类,那他们到底有什么不同呢?

        从底层结构上来看:

          Vector、ArrayList的底层是数组,在执行增加和删除操作时,后面的元素要逐个移动;

          而LinkedList底层是双向链表,在执行增加和删除操作时,是由指针直接操作,效率更高

          因此,ArrayList更多用于查询,而LinkedList更多用于删除、添加

        在线程安全上:

          ArrayListLinkedList不是线程安全的。而Vector线程安全

        初始容量上:

          ArrayList初始容量是10,且按1.5倍扩容;Vector初始容量也是10,但按2倍扩容;LinkedList由于底层的双向链表结构,不存在初始容量和扩容的说法

        从访问方法上来看:

          由于ArrayList是基于数组的,所以可以通过索引值的方式来定位元素的位置

          而LinkedList只能通过指针慢慢查找

        

  • 相关阅读:
    物联网浪潮之下如何从 0 到 1开启智能化硬件开发?
    安卓开发工程师应该这样快速使用机智云APP开源框架
    hdu 1246
    UVa202
    CodeForces
    热身经验被打脸总结大会感想
    多重背包的二进制优化
    背包问题+欧拉筛法
    HDU 1106
    HDU 1215
  • 原文地址:https://www.cnblogs.com/javaisbest/p/11795444.html
Copyright © 2011-2022 走看看