在Java中迭代LinkedList
让我首先道歉,如果这是可笑的基本。这是我第一次编程 这里的问题是我需要打印一个LinkedList。有人能告诉我我做错了什么吗?以下是我所拥有的:在Java中迭代LinkedList,java,linked-list,Java,Linked List,让我首先道歉,如果这是可笑的基本。这是我第一次编程 这里的问题是我需要打印一个LinkedList。有人能告诉我我做错了什么吗?以下是我所拥有的: public class Queue { private LinkedList list; public Queue() { list = new LinkedList(); } } public class BankQueue { static Queue q = new Queue(); public static void
public class Queue {
private LinkedList list;
public Queue() {
list = new LinkedList();
}
}
public class BankQueue {
static Queue q = new Queue();
public static void main(String[] args) {
//Insert a menu with a list of possible choices
public static void printQueue(Queue q) {
for (String s : q) {
System.out.println(q);
}
}
我不断收到错误,说我只能迭代java.lang.Iterable的数组或实例。谢谢你的帮助。非常感谢。您需要迭代列表,而不是实际上没有实现
Iterable
的类实例,比如
public void printQueue(Queue q) {
for(String s : q.getList()) {
//do anything with your string
}
}
当然,这意味着您的
LinkedList
实际上是LinkedList
,并且您有一个在类中声明的list
字段的getter,比如public list getList(){return list;}
您需要迭代列表,而不是你的类实例,它实际上没有实现Iterable
,比如
public void printQueue(Queue q) {
for(String s : q.getList()) {
//do anything with your string
}
}
当然,这意味着您的
LinkedList
实际上是LinkedList
,并且您在类中声明了一个list
的getter字段,比如public list getList(){return list;}
您似乎没有迭代q
的list
成员。您需要实现Iterable
接口,或者直接迭代q.list
真正正确的方法是实现
Iterable
您似乎没有在q
的列表
成员上迭代。您需要实现Iterable
接口,或者直接迭代q.list
真正正确的方法是实现
Iterable
您的类队列
是不Iterable的
顺便说一句,它的名称与iterable的java.util.Queue
冲突
如果您确实试图遍历
队列的列表
成员
,您需要为此提供一个getter(它是私有的),或者为自己编写一个访问者。您的类队列
不适用
顺便说一句,它的名称与iterable的java.util.Queue
冲突
如果您确实试图迭代
队列的列表
成员
,您需要为此提供一个getter(它是私有的),或者为自己编写一个访问者。您需要使用迭代器在LinkedList中循环,如下所示:
iterator = q.iterator();
while (iterator.hasNext()) {
System.out.print(iterator.next()+" ");
}
您需要使用迭代器在LinkedList中循环,如下所示:
iterator = q.iterator();
while (iterator.hasNext()) {
System.out.print(iterator.next()+" ");
}
OP定义了自己的
队列
类,该类没有实现Iterable
,因此没有迭代器()
方法。这就解释了为什么我不能让它工作。很抱歉与类名混淆。我没有意识到“队列”已经有了用途。无论如何,谢谢。OP已经定义了自己的队列
类,它没有实现Iterable
,因此没有迭代器()
方法。这就解释了为什么我不能让它工作。很抱歉与类名混淆。我没有意识到“队列”已经有了用途。无论如何,谢谢。我必须添加getter,但这解决了我的问题。谢谢你的帮助!我不得不添加getter,但这解决了我的问题。谢谢你的帮助!我实际上没有意识到“队列”已经有了用途。也许我会更改这个东西的名称……我实际上没有意识到“队列”已经有了用途。也许我会改变这个东西的名字。。。