Iterate a Collection and remove an itemTag(s): Language
You get an exception if while scanning a Collection, you decide to remove an item.
import java.util.ArrayList;
public class Simple {
public static void main(String args[]) {
ArrayList<String> list = new ArrayList<String>();
list.add("Bart");
list.add("Lisa");
list.add("Marge");
list.add("Barney");
list.add("Homer");
list.add("Maggie");
for(String s: list)
{
if (s.equals("Barney")) {
list.remove("Barney");
}
System.out.println(s);
}
}
/*
output :
Bart
Lisa
Marge
Barney
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
at com.rgagnon.howto.Simple.main(Simple.java:20)
*/
}
import java.util.ArrayList;
import java.util.Iterator;
public class Simple {
public static void main(String args[]) {
ArrayList<String> list = new ArrayList<String>();
list.add("Bart");
list.add("Lisa");
list.add("Marge");
list.add("Barney");
list.add("Homer");
list.add("Maggie");
for (Iterator<String> iter = list.iterator(); iter.hasNext();) {
String s = iter.next();
if (s.equals("Barney")) {
iter.remove();
}
else {
System.out.println(s);
}
}
for(String s: list)
{
System.out.println(s);
}
}
/*
output :
Bart
Lisa
Marge
Homer
Maggie
Bart
Lisa
Marge
Homer
Maggie
*/
}
mail_outline
Send comment, question or suggestion to howto@rgagnon.com
Send comment, question or suggestion to howto@rgagnon.com