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--;
        }

最终执行结果为:

相关推荐
计算机程序猿学长3 小时前
微信小程序毕设项目推荐-基于java+springboot+mysql+微信小程序的校园外卖点餐平台基于springboot+微信小程序的校园外卖直送平台【附源码+文档,调试定制服务】
java·微信小程序·课程设计
建群新人小猿3 小时前
陀螺匠企业助手——组织框架图
android·java·大数据·开发语言·容器
CV_J3 小时前
索引库操作
java·开发语言·elasticsearch·spring cloud
申克Lab4 小时前
STM32 FreeRTOS 消息队列
java·stm32·嵌入式硬件
敲敲千反田4 小时前
多线程复习
java·开发语言
敲敲了个代码4 小时前
多标签页强提醒不重复打扰:从“弹框轰炸”到“共享待处理队列”的实战
java·前端·javascript·面试·架构
Jackson@ML4 小时前
2026最新版Eclipse for Java安装使用指南
java·ide·eclipse
莫问前路漫漫4 小时前
JDK 核心实操指南:从安装配置到项目打包调试全流程
java·jdk
Getgit4 小时前
Linux系统的特点有哪些
java·linux·运维·网络·sql
APIshop5 小时前
Java获取item_get-获得某书商品详情接口
java·开发语言·python