我的迭代器稍微关闭......任何想法如何解决它?

时间:2012-03-13 14:09:11

标签: java

下面的迭代器类返回除第一个之外的所有元素,并且它返回的最后一个元素为null。我不确定如何修复它,以便它只返回所有没有空值的元素。

2 个答案:

答案 0 :(得分:1)

下面

        newHead = newHead.next;
        ...
        return (E) newHead;

移动到下一个元素,然后返回其内容。实际上,您总是跳过列表的第一个元素。反之亦然(使用临时变量):

        MyListNode<E> current = newHead;
        newHead = newHead.next;
        ...
        return (E) current;

答案 1 :(得分:0)

在下一个方法中返回null。

调用迭代器时,可以在使用next之前使用hasNext方法检查。这样就不应该在最后添加额外的空值。

while(iterator.hasNext()){

//add to list

}