-2

重複の可能性:
同時変更の例外について

反復中に要素を削除しようとしているため、以下のコードでこの同時変更例外エラーが発生しています..コードは以下です..

 List  list=new ArrayList ();
          list.add(new Emp("Saral","Trainer",34500));
          list.add(new Emp("Saral","Trainer",36000));
          list.add(new Emp("Saral","Trainer",33000));
          list.add(new Emp("Sachin","Programmer",24000));

そして、私が取得している方法は..

System.out.println("Content of list are : ");
          ListIterator itr1=list.listIterator();
          while(itr1.hasNext())
          {
              list.add(new Emp("Anand","Manager",56000)); //
            Emp e=(Emp)itr1.next();  
            e.display();
          }

このエラーを回避する方法を教えてください..?

4

2 に答える 2

5

を変更して、を取得した変更前に作成されたListを使用することはできません。そうしないと、がスローされます。回避するには、内で呼び出さないでください。IteratorListListConcurrentModificationExceptionlist.add()while

問題の目的はwhileリストの内容を出力することであるため、以下を使用する理由はありませんIterator:

List<Emp> list = new ArrayList<Emp>();  

for (Emp e: list)
{
    e.display();
}
于 2012-08-06T14:14:20.493 に答える
1

ConcurrentModificationExceptionになる可能性がある反復中にリストを変更しようとしています

list.add(new Emp("Anand","Manager",56000)); //
于 2012-08-06T14:14:06.907 に答える