如何在java中的sinlgly linkedlist迭代器中实现hasNext方法?
下面是在单个linkedlist迭代器中实现hasNext方法的代码,但我不明白为什么要以这种方式实现此方法如何在java中的sinlgly linkedlist迭代器中实现hasNext方法?,java,Java,下面是在单个linkedlist迭代器中实现hasNext方法的代码,但我不明白为什么要以这种方式实现此方法 private class LinkedListIterator implements ListIterator { . . . public boolean hasNext() { if (position == null) return first != null; else return position.
private class LinkedListIterator implements ListIterator
{
. . .
public boolean hasNext()
{
if (position == null)
return first != null;
else
return position.next != null;
}
. . .
}
我可以用下面的方法来做吗
private class LinkedListIterator implements ListIterator
{
. . .
public boolean hasNext()
{
if (position.next == null)
return false;
else
return true;
}
. . .
}
你可以用两种方法。这取决于班上其他同学的长相。如果您有一个“虚拟”节点,表示第一个元素之前的位置,则可以使用第二种方法。如果该位置由
position==null
表示,则必须使用第一种方法。就个人而言,我更喜欢虚拟节点方法,这样您就不必担心null
检查