ArrayList 内部使用的动态数组来存储元素,LinkedList 内部使用的双向链表来存储元素,这也是 ArrayList 和 LinkedList 最本质的区别。
Arraylist的内存结构是数组,当超出数组大小时创建一个新的数组,把原数组中元素拷贝过去。其本质是顺序存储的线性表,插入和删除操作会引发后续元素移动,效率低,但是随机访问效率高
LinkedList的内存结构是用双向链表存储的,链式存储结构插入和删除效率高,不需要移动。但是随机访问效率低,需要从头开始向后依次访问
除第一个元素外,每个元素有且仅有一个直接前驱。
除最后一个元素外,每个元素有且仅有一个直接后继
链式存储结构:结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构
在顺序表中,只要知道基地址和结点大小,就可在相同时间内求出任一结点的存储地址。
线索二叉链表是利用 rchild域存储后继结点的地址
Arraylist的内存结构是数组,当超出数组大小时创建一个新的数组,把原数组中元素拷贝过去。其本质是顺序存储的线性表,插入和删除操作会引发后续元素移动,效率低,但是随机访问效率高
LinkedList的内存结构是用双向链表存储的,链式存储结构插入和删除效率高,不需要移动。但是随机访问效率低,需要从头开始向后依次访问
除第一个元素外,每个元素有且仅有一个直接前驱。
除最后一个元素外,每个元素有且仅有一个直接后继
链式存储结构:结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构
在顺序表中,只要知道基地址和结点大小,就可在相同时间内求出任一结点的存储地址。
线索二叉链表是利用 rchild域存储后继结点的地址
2022-04-29
在牛客打卡11天,今天学习:刷题 18 道
全部评论
相关推荐
点赞 评论 收藏
分享
06-26 18:27
上海交通大学 硬件开发 点赞 评论 收藏
分享