Java中ArrayList.remove(index)漏删的问题

问题描述

ArrayList中数据删除漏删

测试代码如下

java 复制代码
public static void main(String[] args) {
		List<Integer>  list = new ArrayList<>();
        for(int i=0;i<10;i++){
            list.add(i+1);
        }
        System.out.println("删除前:list.szie() = "+list.size());
        for(int i=0;i<list.size();i++){
            System.out.print(" "+list.get(i));
        }

        for (int i=5;i<list.size();i++){
            list.remove(i);
            //i--;
        }
        System.out.println("\n删除下标为5及之后的所有元素后:list.size() = "+list.size());
        for(int i=0;i<list.size();i++){
            System.out.print(" "+list.get(i));
        }
	}

解决方案:在使用连续remove(index)方法的时候,删除一个元素以后,将i 减1,可以避免漏删,代码如下

java 复制代码
 for (int i=3;i<list.size();i++){
            list.remove(i);
            i--;
        }

最终执行结果为:

相关推荐
毕设源码-朱学姐1 小时前
【开题答辩全过程】以 爱心捐赠网站为例,包含答辩的问题和答案
java·eclipse
尘觉3 小时前
中秋节与 Spring Boot 的思考:一场开箱即用的团圆盛宴
java·spring boot·后端
Le1Yu4 小时前
2025-10-7学习笔记
java·笔记·学习
popoxf4 小时前
spring容器启动流程(反射视角)
java·后端·spring
AAA修煤气灶刘哥5 小时前
监控摄像头?不,我们管这个叫优雅的埋点艺术!
java·后端·spring cloud
寻星探路5 小时前
Java EE初阶启程记09---多线程案例(2)
java·开发语言·java-ee
武子康5 小时前
Java-141 深入浅出 MySQL Spring事务失效的常见场景与解决方案详解(3)
java·数据库·mysql·spring·性能优化·系统架构·事务
珹洺5 小时前
Java-Spring入门指南(十五)SpringMVC注解开发
java·spring·microsoft
小满、5 小时前
什么是Maven?关于 Maven 的坐标、依赖管理与 Web 项目构建
java·maven
半旧夜夏6 小时前
【设计模式】核心设计模式实战
java·spring boot·设计模式