美文网首页
List移除元素的问题

List移除元素的问题

作者: jarWorker | 来源:发表于2019-05-24 16:14 被阅读0次

问题描述

package com.startsi.bjairport.listen;

import java.util.ArrayList;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("苹果");
        list.add("香蕉");
        list.add("车厘子");
        String fruits = "车厘子";
        if (null != list && list.size() > 0) {
            for (String fruit : list) {
                if (fruits.equals(fruit)) {
                    list.remove(fruit);
                }
                System.out.println(fruit);
            }

        }
        
    }
}

异常信息

苹果
香蕉
Exception in thread "main" 车厘子
java.util.ConcurrentModificationException
at java.util.ArrayList _Itr.checkForComodification(ArrayList.java:901)
at java.util.ArrayList_Itr.next(ArrayList.java:851)
at com.startsi.bjairport.listen.Test.main(Test.java:14)

解决方式

package com.startsi.bjairport.listen;

import java.util.ArrayList;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("苹果");
        list.add("香蕉");
        list.add("车厘子");
        String fruits = "车厘子";
        if (null != list && list.size() > 0) {
            for (int i = 0; i < list.size(); i++) {
                if (fruits.equals(list.get(i))) {
                    list.remove(list.get(i));
                    i--;//索引-1
                }
                System.out.println(list.get(i));
            }
            
        }
        
    }
}

关键点

if (fruits.equals(list.get(i))) {
      list.remove(list.get(i));
      i--;//索引-1
}

相关文章

  • List移除元素的问题

    问题描述 异常信息 苹果香蕉Exception in thread "main" 车厘子java.util.Con...

  • Java集合遇到的坑

    1. 集合List在移除元素时会报数组越界异常或者移除不该移除的元素 原因: 集合的移除元素可以...

  • List移除元素

    List 移除某个元素 四种方式: 方式一,使用 Iterator ,顺序向下,如果找到元素,则使用 remove...

  • Java常用容器类总结

    Collection List ArrayList 数组 长于随机访问元素,但在List中间插入和移除元素时较慢 ...

  • remove duplicates from sorted ar

    类似问题:remove duplicates from sorted list(移除有序链表中的重复元素) 题目描...

  • List(列表)

    List允许在她被创建之后添加元素、移除元素、或者进行自我尺寸调整。 List的特征是其元素以线性方式存储,集合中...

  • 关于List.remove越界

    每次调用一次list.remove,list的索引会自动+1,即移除掉元素后,后面的元素会往上移动 所以当使用循环...

  • python实现堆栈

    堆栈 python 列表API list.pop([index=-1])移除列表中的一个元素(默认最后一个元素),...

  • 【Python爬虫】列表、元组、集合练习

    列表: pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。 list.append...

  • 列表 list pop() append()

    pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。 list.append(obj...

网友评论

      本文标题:List移除元素的问题

      本文链接:https://www.haomeiwen.com/subject/ppfnzqtx.html