java操作数组转list集合删除元素报错ConcurrentModificationException

public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>(Arrays.asList("a", "b", "c", "d"));
        for (int i = 0; i < list.size(); i++) {
            list.remove(i);
        }
        System.out.println(list);
}
输出:[b, d]
  public static void main(String[] args) {

        ArrayList<String> list = new ArrayList<String>(Arrays.asList("a", "b", "c", "d"));
        for (String s : list) {
            if (s.equals("a"))
                list.remove(s);
        }

    }
报错ConcurrentModificationException
 public static void main(String[] args) {

        ArrayList<String> list = new ArrayList<String>(Arrays.asList("a", "b", "c", "d"));
        Iterator<String> iter = list.iterator();
        while (iter.hasNext()) {
            String s = iter.next();

            if (s.equals("a")) {
                iter.remove();
            }
        }
    } 
输出:[b, c, d]

原文地址:https://www.cnblogs.com/bigsiji/p/12150500.html

时间: 2024-10-06 23:55:34

java操作数组转list集合删除元素报错ConcurrentModificationException的相关文章

ng-repeat 循环集合相同元素报错问题

当ng-repeat 循环的集合具有相同的元素时,页面会报错.此时需要在集合上添加 track by $index 方可循环出集合元素. 原文地址:https://www.cnblogs.com/jinrx/p/9500877.html

iOS关于使用for in循环删除数组元素报错

原文链接: iOS关于使用for in循环删除数组元素报错 简书主页:http://www.jianshu.com/users/37f2920f6848 Github主页:https://github.com/MajorLMJ iOS开发者公会-技术1群 QQ群号:87440292 iOS开发者公会-技术2群 QQ群号:232702419 iOS开发者公会-议事区   QQ群号:413102158

Android 编程下 java.lang.NoClassDefFoundError: cn.jpush.android.api.JPushInterface 报错

使用了极光推送的 jar 包项目在从 SVN 中检出后,假设不又一次对 jar 包和 Bulid Path 进行配置就会抛出 java.lang.NoClassDefFoundError: cn.jpush.android.api.JPushInterface 的错误,进行例如以下操作就可以消除这样的错误: 删除 libs 目录下的 jpush-sdk-release1.3.8.jar(极光推送的 jar 包),又一次在 libs 目录中增加  jpush-sdk-release1.3.8.ja

java安装1.8和1.7,报错:Error: Registry key &#39;Software\JavaSoft\Java Runtime Environment&#39;\CurrentVers

进入:C:\ProgramData\Oracle\Java\javapath; 删除:java.exe.javaw.exe.javaws.exe 删除:path的C:\ProgramData\Oracle\Java\javapath; 然后可能还会不行 进入:C:\Windows\System32 删除:java.exe.javaw.exe.javaws.exe 注意:\ProgramData可能是隐藏文件夹. java安装1.8和1.7,报错:Error: Registry key 'Soft

Python selenium PO By.XPATH定位元素报错

Python selenium PO  By.XPATH定位元素报错 如下代码经常报错: # 首页的“新建投放计划”按钮 new_ads_plan = (By.XPATH, "//*[text()='百度新闻']/..") print(type(self.new_ads_plan)) self.driver.find_element(self.new_ads_plan).click() 运行经常报错:selenium.common.exceptions.WebDriverExcepti

JAVA操作数组

使用 Arrays 类操作 Java 中的数组 Arrays 类是 Java 中提供的一个工具类,在 java.util 包中.该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序.搜索等 Arrays 中常用的方法: 1. 排序 语法:  Arrays.sort(数组名); 可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该数组的排序(按升序排列) 顺序输出使用:for ( int i = 0;i < scores[].le

集合遍历过程iterator, 添加删除元素报异常

list  set  遍历过程中添加或者删除元素,报异常. 使用iterator 也会报异常 ConcurrentModificationException remove只能用迭代器的remove,而不能用集合的remove方法,iterator的remove会维护索引的一致性 iterator it = list.iterator(); while(it.hasnext(0){ obj = it.next(); it.remove(); } 用java.util.concurrent中的类代替

Java HashMap 如何正确遍历并删除元素

(一)HashMap的遍历 HashMap的遍历主要有两种方式: 第一种采用的是foreach模式,适用于不需要修改HashMap内元素的遍历,只需要获取元素的键/值的情况. HashMap<K, V> myHashMap; for (Map.entry<K, V> item : myHashMap.entrySet()){ K key = item.getKey(); V val = item.getValue(); //todo with key and val //WARNI

Java - List遍历、判断、删除元素时的陷阱

开发中,常有“遍历集合,依次判断是否符合条件,如符合条件则删除当前元素”的场景,有一些陷阱常犯. 漏网之鱼 import java.util.ArrayList; import java.util.List; public class ListTest_Unwork { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("1"