ArrayList与LinkedList的使用场景有哪些

  介绍

ArrayList与LinkedList的使用场景有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强> 1,ArrayList是基于数组实现的,其构造函数为:

private  transient 对象[],elementData;,   private  int 规模;

ArryList初始化时,elementData数组大小默认为10;
每次添加()时,先调用ensureCapacity()保证数组不会溢出,如果此时已满,会扩展为数组长度的1.5倍+ 1,然后用数组。复制的方法,将原数组拷贝到新的数组中,
ArrayList线程不安全,矢量方法是同步的,线程安全;

<强> 2,LinkedList是基于双链表实现的:

Object 元素;,   接下来,Entry    之前,,,

初始化时,有个头条目,值为零;

使用头的优点是:在任何一个条目(包括第一个和最后一个)都有一个前置条目和一个后置条目,因此在LinkedList对象的开始或者末尾进行插入操作没有特殊的地方,

<强>使用场景:

(1)如果应用程序对各个索引位置的元素进行大量的存取或删除操作,ArrayList对象要远优于LinkedList对象,

(2)如果应用程序主要是对列表进行循环,并且循环时候进行插入或者删除操作,LinkedList对象要远优于ArrayList对象。

看完上述内容,你们掌握ArrayList与LinkedList的使用场景有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

ArrayList与LinkedList的使用场景有哪些