一、删除集合元素的几种有效方法
1.倒过来遍历list
for (int i = list.size()-1; i > =0; i–) {
if (((String) list.get(i)).startsWith(“abcde”)) {
list.remove(i);
}
}
2.每移除一个元素以后再把i移回来
for (int i = 0; i < list.size(); i++) {
if (((String) list.get(i)).startsWith(“abcde”)) {
list.remove(i);
i=i-1;
}
}
3.使用iterator.remove()方法删除
for (Iterator it = list.iterator(); it.hasNext();) {
String str = (String)it.next();
if (str.equals(“chengang”)){
it.remove();
}
}
二、ConcurrentModificationException异常
并发修改ConcurrentModificationException错误是开发中一个常见错误,多发生在对一个Collection边遍历边做影响size变化的操作中,下面以ArrayList为例分析ConcurrentModificationException错误。
所以尽量不要在遍历一个集合或者map的时候去,增删元素。
http://blog.csdn.net/wchicho/article/details/51987992