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)这些接口"。

相关推荐
qeen875 小时前
【数据结构】自平衡二叉搜索树各种旋转算法原理解析及AVL树的C++实现
数据结构·c++·算法
冻柠檬飞冰走茶6 小时前
PTA基础编程题目集 7-35有理数均值(C++语言实现)
开发语言·数据结构·c++·算法·均值算法
Nil2087 小时前
leetcode 189轮转数组
数据结构·算法·leetcode
依然鸣8 小时前
PTA团体程序设计天梯赛L1真题讲解L1-085-088
数据结构·c++·经验分享·算法·深度优先·pat考试
Brilliantwxx9 小时前
【算法从零到千】【51-54】逆序对(分治+递归算法)
数据结构·算法·排序算法
小星星闪亮登场9 小时前
2026河南萌新联赛第四场--南阳理工学院
数据结构·算法·贪心算法·动态规划·哈希算法·广度优先
土司大王9 小时前
LeetCode hot100——两数之和
数据结构·算法·leetcode
wabs66610 小时前
关于字符串【力扣344.反转字符串的思考】
数据结构·算法·leetcode
LuminousCPP10 小时前
数据结构基础篇(二):顺序表与链表全方位对比|从内存布局到 CPU 缓存理解底层差异
c语言·数据结构·经验分享·链表·缓存
有点。11 小时前
C++二叉树(一)
开发语言·数据结构·c++