首页 > 编程知识 正文

linkedlist有索引吗,linkedlist可以重复吗

时间:2023-05-04 12:02:44 阅读:44342 作者:219

一.引言其实我想知道链接列表是什么。 知道链表和数组就好了

数组的特征是在内存中,数组是连续的区域。 数组需要预留空间,使用前必须申请占用内存大小,可能会浪费内存空间。 三种情况下,空间不多的话,必须扩展数组交换数组进行插入,删除效率很低。 由于其连续性,无论插入还是删除一个要素,将其后的要素向前或向后移动,随机读取效率都很高。 这是因为序列是连续的。 知道每个数据的内存地址后,就可以直接找到给定地址的数据。 数组空间不足,可能需要重新定义数组链表的特征。 不要求每个数据中连续存储以下数据的内存地址,从该地址可以找到以下数据。 添加和删除数据很简单。 只向前面的要素传达自己的位置就搜索数据是没有效率的。 因为没有随机的方文星,所以访问某个数据的时候必须从第一个数据开始不指定大小就进行访问,造成堵塞。 链表大小不用定义数组的优点随机访问强,检索速度快的缺点如果数组插入和删除效率差,可能会浪费内存空间,足够的连续内存空间数组大小必须固定,链表可以动态扩展不浪费的内存大小不一定,扩展灵活链表的缺点是不能随机查找,必须从头开始扫描,检索效率低2.ArrayList和LinkList的区别是谈论数组和链表,但数组

ArrayList的特点ArrayList可以看作是一个自动增加容量的数组,其基础实现是数组

确定新的数据空间、确定添加新数据时是否存在可用空间的存储扩展需要申请新的连续空间并复制旧数组。 复制旧数组空间并重用旧数组空间的ArrayList最好在初始化时指定长度。 指定长度比不指定长度性能更好。 数据量越大越明显。 这是因为不使用重复申请空间复制数组,破坏旧的分配空间。

LinkList的特点LinkList是一个双链表,在添加和删除元素时提供比ArrayList更好的性能。 但是,get和set比ArrayList弱,当然,这些比较的值数据量大或操作频繁

链表中不需要的连续空间大小不一定

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。