簡體   English   中英

如何在自己的收藏夾上使用For-Each循環?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM