读书人

关于List集合的删除有关问题

发布时间: 2012-09-14 23:00:49 作者: rapoo

关于List集合的删除问题

一般来说在遍历一个List集合的时候,是不能同时执行删除操作的。

会抛出

java.util.ConcurrentModificationException

当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。

但是,有的时候就需要删除操作。

?

举个例子,备份用的。

?

package demo;import java.util.ArrayList;import java.util.List;public class Main {/** 目标:删除cccpppppppppppp之前的记录 */public static void main(String[] args) {List<String> list = new ArrayList<String>();list.add("aaa");list.add("bbb");list.add("111");list.add("222");list.add("333");list.add("cccpppppppppppp");list.add("999");list.add("888");list.add("777");int c_index = -1; // 保存cccpppppppppppp第一次出现的位置// 取得cccpppppppppppp第一次出现的位置for (int i = 0; i < list.size(); i++) {String str = list.get(i);if (str.startsWith("ccc")) {c_index = i;break;  //不要省}}// 删除cccpppppppppppp之前的记录for (int j = list.size() - 1; j >= 0; j--) {if (j < c_index) {list.remove(j); // list.remove(list.get(j));// c_index--;}}System.out.println(list);}}

??

读书人网 >编程

热点推荐