我刚刚开始学习LinkedLists和节点,但是我对这段代码不了解:¸
public class ListeChainee<E> {
private Noeud debut=null;
private Noeud fin=null;
private int taille=0;
private class Noeud
{
private E contenu;
private Noeud suivant;
Noeud(E contenu, Noeud suivant)
{
this.contenu=contenu;
this.suivant=suivant;
}
}
public boolean add(E element)
{
Noeud n= new Noeud(element,null);
if(taille==0)
debut= n;
else
fin.suivant=n;
fin=n;
taille++;
return true;
}
在我的主班上,我有这个:
ListeChainee<Integer> liste= new ListeChainee<Integer>(); liste.add(2); liste.add(3);
我试图了解为什么当我执行“ liste.add(3)”时,debuty.suivant会发生变化?
感谢您的帮助
最佳答案
当您添加2时,它是列表中的第一个节点,因此是它的首次亮点。但它没有后继者,因此suivant为null。
当您添加3时,2需要指向3,因此2的suivant链接指向3。这恰好是因为2是第一个节点,所以您看到了launch.suivant的这一变化,因为Premiere和fin是同一节点。这点。
关于java - 试图了解有关Java中的节点和链表的更多信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40622811/