3

Javaでforeachステートメントをネストし、外側のforeachループがある現在のインデックスでネストされたステートメントを開始することは可能ですか?

だから私が持っているなら

List<myObj> myObjList = new ArrayList<myObj>();

for (myObj o : myObjList){
    // how do I start the nested for loop at the current spot in the list?
    for(

}

ありがとう!

4

3 に答える 3

4

自分でインデックスを追跡subListし、正しい場所で内側のループを開始するために使用する方法を次に示します。

int i = 0;
for (myObj o1 : myObjList) {
    for (myObj o2 : myObjList.subList(i, myObjList.size())) {
        // do something
    }
    i++;
}

これは基本的なループを使用するよりも明確だと思いますforが、それは確かに議論の余地があります. ただし、どちらも機能するはずなので、選択はあなた次第です。を実装していないコレクションを使用している場合List<E>、これは機能しないことに注意してください ( 「インデックス」の概念は実際にはリストに対してのみ意味があるため、 でsubList定義されています)。List<E>

于 2013-05-28T22:58:58.877 に答える