web-dev-qa-db-ja.com

Javaでリストメンバーを置き換えるためのイテレータ?

うーん... Java _Iterator<T>_にはremove()メソッドがありますが、replace(T replacement)メソッドはありません。

リスト内の選択したアイテムを置き換える効率的な方法はありますか? forループを使用してget(i)とset(i)を呼び出すことができます。これは、ArrayListには適していますが、リンクリストには適していません。

35
Jason S

_ListIterator.set_ によって返される List.listIterator() または List.listIterator(int)

setは、たとえばSetイテレータには意味がありません。)

62

ListIteratorの代わりに Iterator が必要です( listIterator() が1つあります)。次に、 set メソッドを使用します。

32
Michael Myers