ArrayList和LinkedList区别

目录

一、性质不同

二、作用不同

三、特点不同


一、性质不同

1、arraylist:ArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本。

2、linkedlist:LinkedList 是一个继承于AbstractSequentialList的双向链表。

二、作用不同

1、arraylist:提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处。

2、linkedlist:LinkedList 实现了Cloneable接口,即覆盖了函数clone(),能克隆;LinkedList 实现java.io.Serializable接口,这意味着LinkedList支持序列化,能通过序列化去传输。

三、特点不同

1、arraylist:每个 ArrayList 实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。并未指定增长策略的细节,因为这不只是添加元素会带来分摊固定时间开销那样简单

2、linkedlist:AbstractSequentialList 实现了get(int index)、set(int index, E element)、add(int index, E element) 和 remove(int index)这些骨干性函数。降低了List接口的复杂度。这些接口都是随机访问List的,LinkedList是双向链表;既然它继承于AbstractSequentialList,就相当于已经实现了"get(int index)这些接口"。

相关推荐
cookies_s_s39 分钟前
B树(B-树)
数据结构·b树
And_Ii1 小时前
LeetCode 3397. 执行操作后不同元素的最大数量
数据结构·算法·leetcode
。TAT。1 小时前
C++ - List
数据结构·c++·学习
额呃呃1 小时前
leetCode第33题
数据结构·算法·leetcode
dragoooon342 小时前
[优选算法专题四.前缀和——NO.27 寻找数组的中心下标]
数据结构·算法·leetcode
少许极端2 小时前
算法奇妙屋(七)-字符串操作
java·开发语言·数据结构·算法·字符串操作
小龙报2 小时前
《算法通关指南---C++编程篇(2)》
c语言·开发语言·数据结构·c++·程序人生·算法·学习方法
liu****5 小时前
10.queue的模拟实现
开发语言·数据结构·c++·算法
shinelord明5 小时前
【大数据技术实战】Kafka 认证机制全解析
大数据·数据结构·分布式·架构·kafka
让我们一起加油好吗5 小时前
【基础算法】01BFS
数据结构·c++·算法·bfs·01bfs