私はリストの反復を練習しています。私の質問は、なぜこれら二つの方法が異なる結果をもたらすのかということです。これらの2つのリストイテレータが異なる動作をするのはなぜですか?
最初のコードは、無限ループを出力します。一方、インデックスの次の文字列を出力します。
私はjavaを初めて使っています。これは私の最初の言語です。
public static void main(String[] args) {
String[] hi = {"yo", "wat", "sup"};
List<String> l1 = new ArrayList(Arrays.asList(hi));
while (l1.iterator().hasNext()) {
System.out.println(l1.iterator().next());
;
}
}
VS
public static void main(String[] args) {
String[] hi = {"yo", "wat", "sup"};
List<String> l1 = new ArrayList(Arrays.asList(hi));
Iterator<String> rator = l1.iterator();
while (rator.hasNext()) {
System.out.println(rator.next());
}
}
基本的に.iteratorは、whileメソッドが実行されるたびに新しいイテレータですか? –
@TinLeはい、そうです。 – hexafraction