线性表之何时使用ArrayList、LinkedList?
2024-10-10 22:54:40
前言
线性表不仅可以存储重复的元素,而且可以指定元素存储的位置并根据下表访问元素。
List接口的两个具体实现:数组线性表类ArrayList、链表类LinkedList。
ArrayList
ArrayList使用数组存储元素,这个数组是动态创建的。如果元素个数超过了数组的容量,就会创建一个更大的数组,并将当前数组中的所有元素都复制到新数组中。另外需要注意的是,ArrayList容量可能根据元素的增加而自动增大,但是不能自动减少。可以使用trimToSize()将数组容量减少到线性表大小。
LinkedList
即是使用一个链表来进行存储元素。因此可以提供从线性表的两端插入和删除元素的方法。
1. 若要提取元素或在线性表的尾部插入或删除元素,不能再其他位置插入或者删除元素,那么ArrayList效率较高。
2. 但是如若需要在线性表的任意位置插入或者删除元素,LinkedList则为最佳。
3. 如果不需要在线性表中插入删除元素,只是访问元素的话,数组则是效率最高的数据结构。
最新文章
- WebGL入门教程(四)-webgl颜色
- Vue.js的计算属性
- your local repository contains non-ascii
- C#程序以管理员身份运行
- axis 理解
- Location of several networks in brain
- C#核心基础--类(2)
- 标准库 - unicode/utf8/utf8.go 解读
- 再谈php乱码问题
- Web前端优化需要注意的点
- SolrCloud(一)搭建Zookeeper
- JVM性能调优,GC
- iOS多线程与网络开发之发送接收server信息
- matplotlib库的简单应用
- AngularJS学习之旅—AngularJS Http(九)
- https://www.cnblogs.com/yudanqu/p/9467803.html
- [Python设计模式] 第24章 加薪审批——职责链模式
- PTA 1067 Sort with Swap(0, i) (25 分)(思维)
- tmux的使用
- listview 选择后高亮显示