0

イテレーション内で繰り返しているリストを変更するのは良いスタイルではないと聞きました。

例 (疑似コード):

for (int i = 0; i < someList.length(); i++) {
  someList.getAt(i).doSomething();
}

何故ですか?副作用はありますか?

4

2 に答える 2

0

このようなものが良いでしょう。

for_each(E item in somelist)
{
     item.doSomeThing();
}

E/Item は何でもかまいません (customers、ints、doubles)

于 2012-09-17T21:20:54.593 に答える
0

コピーを作成します。それを変更して、オリジナルを繰り返します。

そうしないと、イテレータは行われた変更を認識できません。詳細はこちら:

繰り返しながらリストを変更する

于 2012-09-17T21:20:09.807 に答える