ArrayList与LinkedList的使用场景有哪些

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

创新互联-专业网站定制、快速模板网站建设、高性价比沈丘网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式沈丘网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖沈丘地区。费用合理售后完善,10余年实体公司更值得信赖。

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

private transient Object[] elementData; 
private int size;

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

2、LinkedList是基于双链表实现的:

Object element; 
Entry next, 
   previous;

初始化时,有个header Entry,值为null;

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

使用场景:

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

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

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


新闻标题:ArrayList与LinkedList的使用场景有哪些
本文链接:http://hbruida.cn/article/jdipjp.html