ループのために高められて後J2SE 1.5.xのaka J5SEと、私それを使用するためにしたそれに楽しい習慣を導入された。 私が述べていることを、正しく知っているか。

例えば前に私は書くのが常であった:


私用gbWay () {
    ….
    のため(Iterator I = countries.iterator (); i.hasNext ();) {
        国c = i.next ();
        (! c.isCrony ()) c.attack ();
    }
    ….
}

今度は私は書く:


私用gbWay () {
    ….
    のため(国c: 国) {
        (! c.isCrony ()) c.attack ();
    }
    ….
}

それはより簡単ではないか。 確かに。

但しこの美はどこでも働かない。 まずIterator自体にのようなアクセスする必要があればそれを使用できない:


のため(Iterator c = countries.iterator (); i.hasNext (); )
    (! c.next () .isCrony ()) {
        c.remove ();
    }
}

あなたが繰り返しているコレクションに要素を加えたいと思うときまたそれを使用できない。 実際はIteratorをまた使用できない。 するそれをいかにか推測できるか。