我对LinkedList概念有困难。我不知道iterator.next
如何存储下一个节点的引用。这是代码
这是Node类
public class Node {
int data;
Node next;
Node(int data) {
this.data= data;
}
}
这是LinkedList类
public class LL {
public static void main(String[] args) {
Node start = new Node(0);
Node iterator =start;
for(int i =1; i <5 ;i++) {
iterator =iterator.next = new Node(i);
}
for(iterator = start ; iterator != null; iterator = iterator .next){
System.out.println(iterator .data);
}
}
}
请告诉我iterator.next
当next是Node
类型的对象时会做什么。
答案 0 :(得分:0)
从您的示例看,您的Node结构看起来像这样:
class Node {
Object item; // some kind of value
Node next; // reference to some other node
}
所以类型Node的每个引用都可以保存对Node类型的另一个对象的引用,该对象可以保存对Node类型的另一个对象的引用,...创建类似于链表的结构。
您的代码按照我上面描述的方式完成了该结构:
iterator
iterator.item
iterator = iterator.next
答案 1 :(得分:0)
通常最好直观地考虑数据结构。例如,这是一个包含3个节点的链表:
[A] - &gt; [B] - &gt; [C]
在节点上调用next()只是返回列表中的下一个节点。
例如在伪代码中 A.next()== B. 和 B.next()== C
您可以阅读有关LinkedLists的更多信息,并在此处查看更多图片: https://en.wikipedia.org/wiki/Linked_list