迭代器打印LinkedList



我在用foreach显示LinkedList时遇到问题。

当我想显示我的LikedList时,我的列表中出现了一个错误,它告诉我必须使用迭代器。这是代码:

public class Set {
private LinkedList <Integer> elements;
public Set () {
this.elements = new LinkedList <Integer> ();
}
public static void main (String [] args) {
Set test = new Set ();
test.add (8);
test.add (2);
test.add (7);
for (int e: test) {
}
}

因此,我使用了迭代器作为显示,但一条消息告诉我的迭代器对于方法集是未定义的。

这是代码:

public class Set {
private LinkedList <Integer> elements;
public Set () {
this.elements = new LinkedList <Integer> ();
}
public static void main (String [] args) {
Set test = new Set ();
test.add (8);
test.add (2);
test.add (7);
Iterator <Integer> iterator = test.iterator ();
while (iterator.hasNext ()) {
System.out.println (iterator.next ());
}
}

如果你能帮我,那对我会有很大帮助。

(我试图在Set((public中定义"Iterator <Integer> iterator = this.elements.iterator ();",并以这种方式将其称为"while (iterator.hasNext ()) { System.out.println (iterator.next ()); }",但没有成功(

提前谢谢你,

您的Set类需要将可迭代接口实现为

public class Set implements Iterable<Integer> {
private LinkedList<Integer> elements;
public Set() {
this.elements = new LinkedList<Integer>();
}
@Override
public Iterator<Integer> iterator() {
return elements.iterator();
}
}

您的类Set没有定义迭代器,您应该添加一个类似的方法:

public Iterator<Integer> getIterator() {
return elements.iterator();
}

相关内容

  • 没有找到相关文章

最新更新