首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2012-09-14 
关于List集合的删除问题一般来说在遍历一个List集合的时候,是不能同时执行删除操作的。会抛出java.util.Con

关于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);}}

??

热点排行