难以理解通过LinkedList的迭代

时间:2015-12-11 10:03:58

标签: java linked-list iterator

我很难理解如何使用for循环实现迭代,以允许我的代码遍历LinkedList中的每个条目并将输出打印到控制台。

我的MainMenu.java类包含

private MainMenu parent;
private LinkedList<Order> orders;

和我的FillDlg.java包含类似的结构,MainMenu是FillDlg的父级。他们都是窗户

enter image description here enter image description here

我尝试了以下代码并对其进行了修改,但是我收到了错误

                    Iterator itr = orders.iterator();
        while (itr.hasNext()) {
            Object element = itr.next();
            System.out.println(element + " ");

            System.out.println(order);

    }

线程“AWT-EventQueue-0”中的异常java.lang.NullPointerException     在FillDlg.actionPerformed(FillDlg.java:92)

其他类(如Order.java)只是构造函数和访问器,主要问题是让迭代器使用MainMenu.java中的LinkedList到FillDlg.java

第92行错误是orders.iterator(LinkedList FillDlg.orders)行

该列表包含许多Order对象orders.add(new Order(orderID, items.get(item), customers.get(customer), quantity, timeStamp));

提前致谢

1 个答案:

答案 0 :(得分:0)

列表为null,因为它尚未初始化;初始化它:

private LinkedList<Order> orders = new LinkedList<>();