我试图将节点从双向链表中拉出来,并想出最好的方法来迭代它,我做了一个增强的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) {
}
}
答案 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
}