首页 > 编程知识 正文

java用什么软件编写最好,java入门书籍

时间:2023-05-06 15:30:25 阅读:44357 作者:1692

JDK8数据结构链接列表的基础采用双向链表结构

双向链表的特点是第一个节点的prev指向最后一个节点,最后一个节点的next指向第一个节点。 但是没有形成“环”

在链接列表内部,主要有三个属性:节点第一个、节点最后一个和int大小。 每个节点内部都包含节点预预览、节点下一步

add操作将创建一个新节点,该节点的prev指向last,next=null。 如果last==null,则Node设置为first节点。 表名的当前链表是空链表。 否则,将last-next指向其节点。 size 1

移除操作移除有三种方法

remove )默认情况下删除第一个节点。 移除(对象)从第一个节点开始遍历,并找到第一个匹配的节点。 o可以为空。 查找第一个值为null的节点。 remove(intindex )从第一个节点开始遍历,或从末尾节点开始查找下标,按正序或反序查找后,将索引值与size/2进行比较。 找到节点后,直接从链表中删除此节点。

1、如果该节点的prev (前驱)为null,则表示是头节点,将头节点设定为Node-next,如果不是头节点,则设为Node-prev-next=Node-next,表示是当前的Node-next

2、节点的next (后台驱动器)为null时,表示是尾节点,将last设定为Node-prev。 否则,假设Node-prex-next=Node-next,并将当前Node-prev设置为null。

3、将item设置为空,size-1。 此时,删除的节点的item、prev和next都为空。 等待GC回收。---- 面试可问为什么会被回收,何时回收,如何回收

链接列表的优缺点(与阵列列表相比)的优点:

删除操作快

LinkedList是基于链表的数据结构,其地址是任意的(节点之间不需要连续的地址)。 因此,打开内存空间时不需要等待连续的地址

缺点:

由于链接列表需要在查询时移动指针,因此查询操作的性能较低

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