Rec*_*cct 0 java collections foreach iterator
我有一个Network类,在它NET= ArrayList<Node>.我正在使用Network类来控制可以添加和不添加的内容,维护已ArrayList排序的等等,我有一个get方法,它将一个Node编号作为参数,使用二进制搜索ArrayList(它们根据该编号排序)
但是在大多数情况下,当其他对象需要在一个节点上调用时,他们只需要通过节点而不管它们的数量,并且通常不完全知道这个数字.
在Network我有
public Iterator<Node> iterator() {
return NET.iterator();
}
Run Code Online (Sandbox Code Playgroud)
等等
Iterator<Node> i = net.iterator();
Node n;
while (i.hasNext()) {
n = i.next();
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
但对于
for (Node n : net) {
}
Run Code Online (Sandbox Code Playgroud)
我得到"foreach不适用于表达类型".如果可能的话,我还需要添加到网络以使用for-each循环?
我对此的研究只引发了我的主题,解释了为什么我需要每个人,我认为这在这种情况下是相关的.