gpt4 book ai didi

Java 迭代器双向链表

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:44:31 26 4
gpt4 key购买 nike

您好,我是 Java 的新手,正在尝试通过实现双向链表格式来创建 Deque 类。当我运行代码 (DequeApp) 时,我得到一个 NullPointerException 返回到我的 Iterator.next(Deque.java:44)。

Error messages:  **Exception in thread "main" java.lang.NullPointerException
at dlist.Deque$DoubleListIterator.next(Deque.java:44)



public E next() {
if (!hasNext()) {throw new NoSuchElementException();}
else{
E temp = current.item;
current = current.next;
return temp;}
}

最佳答案

我做了两处改动。

  1. 正如 tucuxi 所说,增加索引。
  2. 从 head 开始电流,而不是 head.next。

    private class DoubleListIterator implements Iterator<E> {
    // instance variable
    private Node current = head;
    private int index = 0;

    public boolean hasNext() {
    return index < N;
    }

    public E next() {
    if (!hasNext()) {
    throw new NoSuchElementException();
    } else {
    index++;
    E temp = current.item;
    current = current.next;
    return temp;
    }
    }

    public void remove() {
    throw new UnsupportedOperationException();
    }
    }

关于Java 迭代器双向链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30047629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com