迭代一个双向链表?

时间:2014-02-24 01:45:53

标签: java

我试图将节点从双向链表中拉出来,并想出最好的方法来迭代它,我做了一个增强的for循环,它正在抱怨 “for-each不适用于所需的表达式类型:array或java.lang.iterable found:doublylinkedlist”

那么我怎么能把节点拉出这个列表呢?

这是我的代码:

public static void gainLoss(){
        //variables
         int sellPrice;
        DoublyLinkedList list = new DoublyLinkedList();      

        //traverse through the list
         for (Node n : list) {

         }
}

2 个答案:

答案 0 :(得分:0)

如果要将数据结构与for-each循环一起使用,则必须实现接口Iterable(并实现底层迭代器)。

答案 1 :(得分:0)

如果DoublyLinkedList课程来自Algorithms, 4th Edition而不是:

    DoublyLinkedList<DoublyLinkedList.Node> list = new DoublyLinkedList<DoublyLinkedList.Node>();
    for(DoublyLinkedList.Node node : list) {
        // do whatever you want            
    }