`
周一Monday
  • 浏览: 342511 次
  • 来自: 北京
社区版块
存档分类
最新评论

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

  

分享到:
评论

相关推荐

    C#遍历List并删除某个元素的方法

    主要介绍了C#遍历List并删除某个元素的方法,实例分析了正序与倒序遍历list及删除元素的使用技巧,需要的朋友可以参考下

    List集合遍历和删除操作

    List集合遍历和删除操作

    两个集合比较(新增、编辑、删除)

    两个集合比较(重新生成:新增集合、编辑集合、删除集合)

    Java List集合的应用.rar

    Java List集合的简单应用,其中涉及到对集合的添加,删除,应用的功能如下,学生的注册,登录,退出登录,日志的添加,删除,修改逻辑实现,适合新手进行查阅

    实验05 Java集合.doc

    2、编写程序练习List集合的基本使用: 1) 创建一个只能容纳String对象名为names的ArrayList集合; 2)按顺序往集合中添加5个字符串对象:"张三"、"李四"、"王五"、"马六"、"赵七"; 3)对集合进行遍历,分别打印...

    解决JAVA遍历List集合,删除数据时出现的问题

    主要介绍了解决JAVA遍历List集合时,删除数据出现的问题,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下

    Java集合框架List接口.pdf

    Java集合框架中的List接口是一种有序的集合,它可以存储重复的元素。它是Collection接口的子接口,提供了一系列可以对列表进行操作的方法,如添加、插入、删除、获取元素等。List接口还可以通过索引访问元素,类似于...

    C#在foreach遍历删除集合中元素的三种实现方法

    在foreach中删除元素时,每一次删除都会导致集合的大小和元素索引值发生变化,从而导致在foreach中删除元素时会抛出异常。 集合已修改;可能无法执行枚举操作。 方法一:采用for循环,并且从尾到头遍历 如果...

    3.Redis数据类型之List类型

    3.Redis数据类型之List类型

    JAVA集合(List,Set,Map)

     (1) 单元素添加、删除操作: boolean add(Object o):将对象添加给集合 boolean remove(Object o): 如果集合中有与o相匹配的对象,则删除对象o (2) 查询操作: int size() :返回当前集合中元素的数量 boolean...

    Python list列表中删除多个重复元素操作示例

    本文实例讲述了Python list列表中删除多个重复元素操作。分享给大家供大家参考,具体如下: 我们以下面这个list为例,删除其中所有值为6的元素: l=[9,6,5,6,6,7,8,9,6,0] 首先尝试remove方法: l.remove(6) ...

    两个list比较 取不同的对象

    比较list得到不同的对象 慎重注意list的大小变化和索引 精简算法

    list实现的购物车

    使用list+cookie实现购物车功能。实现商品的添加,删除,清空购物车

    list去掉重复对象

    一个list里面有多个对象,对象有几个字段,要求在对象里面不要有重复的数据的实现。

    Android List删除重复数据

    主要介绍了Android List删除重复数据的实例代码,非常不错,具有参考借鉴价值,需要的朋友参考下吧

    Python中的list与tuple集合区别解析

    Python中内置了list集合与tuple集合,在list集合中可以实现元素的添加、修改、插入、以及删除。tuple集合看似与list类似,但两者还是有很大的区别。 在tuple集合中,一旦元素被存储,以后就不能修改,删除了,这比...

    java中循环遍历删除List和Set集合中元素的方法(推荐)

    下面小编就为大家带来一篇java中循环遍历删除List和Set集合中元素的方法(推荐)。小编觉得挺不错的,在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    集合概述Collection , List ,Set , Map

    Collection , List ,Set , Map , 集合,框架。对于对象集合,必须执行的操作主要以下三种:  添加新的对象  删除对象  查找对象 我们必须确定如何将新的对象添加到集合中。可以将对象添加到集合的末尾、开头...

    SharedPreferences的形式在缓存中维护两个List,对其进行增删等操作

    用SharedPreferences的形式在缓存中维护两个List,并能对其进行增删改查操作,同步缓存文件

    Java中的List集合

    1 Java中的List集合 1.1 迭代器 通过集合对象获取对应的Iterator迭代器  Iterator iterator(); 常用方法:  boolean hasNext();  判断当前Iterator是否可以继续运行。  E next();  获取Iterator当前指向元素,...

Global site tag (gtag.js) - Google Analytics