以下のようなベクトルからリストを削除しようとしました。Vectorからjava.util.ConcurrentModificationExceptionを取得するリストを削除する
public class StringVectorTest {
private final List<String> stringVector = new Vector<String>();
@Test
public void listRemoveTest(){
List<String> list = stringVector.subList(0, 2);
stringVector.removeAll(list);
Assert.assertEquals(stringVector.size(), 3);
}
@Before
public void fillList(){
stringVector.add("ABC");
stringVector.add("DEF");
stringVector.add("GEH");
stringVector.add("IJK");
stringVector.add("LMN");
}
}
私は誰も私がどのように教えてくださいすることができ、このConcurrentModificationException
を克服するためにIterator
を使用する必要があることを知って、私は以下のエラー
java.util.ConcurrentModificationException
at java.util.SubList.checkForComodification(AbstractList.java:752)
at java.util.SubList.listIterator(AbstractList.java:682)
at java.util.AbstractList.listIterator(AbstractList.java:284)
at java.util.SubList.iterator(AbstractList.java:678)
at java.util.AbstractCollection.contains(AbstractCollection.java:82)
at java.util.Collections$SynchronizedCollection.contains(Collections.java:1563)
at java.util.AbstractCollection.removeAll(AbstractCollection.java:336)
at java.util.Vector.removeAll(Vector.java:853)
に取得していますテストを実行しながら、私はそれを効率的な方法で/ベストプラクティスで使うべきですか?
ありがとうございます。
おかげで答えをたくさん。出来た。 – Sam