博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LinkedList 和 ArraryList的区别. <java>
阅读量:5285 次
发布时间:2019-06-14

本文共 537 字,大约阅读时间需要 1 分钟。

LinkedList是用动态链表进行存储的,而ArrayList是动态数组存储的。

一、如果对数组进行查询、设置等操作,用ArrayList比较快,方法为get()和set()。

二、如果对数据进行增加、移动等操作,用LinkedList比较快,方法有大的()和remove()。

LinkedList里面有一个私有类,如下:

private static class Entry {   

         Object element;       //元素值

         Entry next;           //下一个指针地址

         Entry previous;    //上一个指针地址

     } 

当新增加或删除元素时将最后一个的指针的Entry next指到新位置,将新添元素的指针Entry previous指到最后一个元素就可以了。但因为总要存储前后指针,所以对内存存在一定量的浪费。

而对于ArrayList,会涉及到数据的移动,特别是在增加或删除第一个元素,那么剩余的所有数组都会进行移动。增加同时有可能会造成数组扩容,每次扩容大约为50%,公式为新总容量=(3*旧容量)/2+1。

三、LinkedList不支持高效的随机元素访问。

 

转载于:https://www.cnblogs.com/yolly/p/7612958.html

你可能感兴趣的文章
JS DOM对象
查看>>
OGR – Merging Multiple SHP files
查看>>
创业公司该不该被收购?(转)
查看>>
sqlserver 行转列、列转行[转]
查看>>
【IScroll深入学习】解决IScroll疑难杂症
查看>>
python 数据类型
查看>>
108-PHP类成员protected和private成员属性不能被查看数值
查看>>
css控制height充满浏览器视口
查看>>
python学习之 - XML
查看>>
Python--GIL 详解
查看>>
大道至简读后感(第四章)
查看>>
IDA IDC Tutorials: Additional Auto-Commenting
查看>>
k8s-存储卷1-十二
查看>>
INSERT IGNORE INTO / REPLACE INTO
查看>>
Python数据类型-布尔/数字/字符串/列表/元组/字典/集合
查看>>
【刷题】SPOJ 705 SUBST1 - New Distinct Substrings
查看>>
IEEE 754浮点数表示标准
查看>>
declare 结构用来设定一段代码的执行指令
查看>>
图解算法读书笔记
查看>>
调试学习笔记
查看>>