[英]How to use For-Each loop on my own collection?
我有一個網絡類,在其中NET
= ArrayList<Node>
。 我正在使用Network類來控制可以添加和不能添加的內容,保持ArrayList
排序等,我有一個get方法,該方法將Node編號作為參數,對ArrayList
使用二進制搜索(它們根據該編號進行排序)
但是在大多數情況下,當其他對象需要在節點上調用時,無論它們的編號如何,它們通常都需要遍歷該節點,並且通常不完全知道該編號。
在Network
我有
public Iterator<Node> iterator() {
return NET.iterator();
}
和類似的東西
Iterator<Node> i = net.iterator();
Node n;
while (i.hasNext()) {
n = i.next();
// do stuff
}
但對於
for (Node n : net) {
}
我得到“ foreach不適用於表達式類型”。 如果可能,我還需要添加到Network上以使用for-each循環嗎?
我對此的研究僅使我想到了一些主題,這些主題解釋了為什么我每個人都需要一個,並且在這種情況下,我認為這很重要。
您需要實現Iterable<T>
接口,以便foreach
將使用您的迭代器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.