java - 初级 Java - 将节点插入链表中间 - 这是做什么的

标签 java linked-list

我现在正在学习链表。我找到了一个 java 示例,它将一个新节点放置到链表的第三个位置,但我只见过像这样使用 2 个附加节点(当前节点和上一个节点)插入列表中间的某个位置。我也从未见过像 .getNext 这样的东西。那么有人可以解释一下这段代码的每个部分的作用吗?也许可以使用当前节点和以前的节点重新表述它,以便我可以理解它是如何关联和比较的? Elem 是为要插入的节点指定的名称,如果您添加涉及这些节点的说明,则不必实例化当前节点和前一个节点。我只是假设它已经完成了。

elem.setNext(first.getNext().getNext());
first.getNext().setNext(elem);
numberOfElems++; 

如果您需要更多信息来回答,请告诉我!

最佳答案

elem.setNext(first.getNext().getNext());

正如您所说,elem 是要插入的元素。上面的代码行将 elemnext 引用设置为列表的第三个元素(first.getNext().getNext() 引用第三个元素)。

first.getNext().setNext(elem);

第二行代码将第二个元素的 next 引用设置为要插入的新元素。新元素现在插入到旧的第二个和第三个元素之间,使其成为列表中的第三个元素。

最后一行代码只是增加元素的计数。

关于java - 初级 Java - 将节点插入链表中间 - 这是做什么的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20183414/

相关文章:

java - 在 MySQL Workbench 中正确运行的 SQL 语法在 Java 中作为准备好的语句返回语法错误

c - 链表逻辑错误

c - 通过函数传递链表头作为C中的地址

c - 我有一个链接列表,我想删除重复的值

java - Spring Data MongoDB 中 @MongoId 相对于 @Id 有什么用?

java - 安装 SDK 后如何配置 Android Emulator

arrays - O(log n)算法在排序数组中找到最佳插入位置

c++ - 从链表末尾移除 0

java - 从 C++ 到 Java 行的命名管道连接,每个字符之间有空格

java - 如果为 ArrayList<Interface> 定义,则该方法不能应用于 ArrayList<ObjectImplementsInterface>