イテレータ使用時に現在のループインデックスを取得するにはどうすればいいですか? 質問する

イテレータ使用時に現在のループインデックスを取得するにはどうすればいいですか? 質問する

Iterator を使用してコレクションを反復処理し、現在の要素のインデックスを取得したいと考えています。

どうやってやるの?

ベストアンサー1

私も同じ疑問を抱いていましたが、ListIterator上記のテストと同様に、 を使用するとうまくいきました。

List<String> list = Arrays.asList("zero", "one", "two");

ListIterator<String> iter = list.listIterator();
    
while (iter.hasNext()) {
    System.out.println("index: " + iter.nextIndex() + " value: " + iter.next());
}

必ず電話してくださいnextIndex() 前に実際に取得しますnext()

おすすめ記事