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

最终执行结果为:

相关推荐
上弦月-编程18 小时前
C语言指针超详细教程——从入门到精通(面向初学者)
java·数据结构·算法
ANnianStriver18 小时前
Java中的stream流的用法
java
1104.北光c°18 小时前
【AI核心概念讲解】一口气搞懂 Agent:干翻传统后端!自主循环决策的秘密,ReAct 与 Plan-and-Execute 范式
java·人工智能·程序人生·ai·agent·react·智能体
Jul1en_18 小时前
Claude 迁移 Codex 工作流迁移与更新
java·服务器·前端·后端·ai编程
未若君雅裁18 小时前
Spring Statemachine 实战入门:从零实现一个订单状态流转 Demo
java·spring·状态模式
早日退休!!!18 小时前
操作系统锁
java·开发语言
研究点啥好呢18 小时前
快手多模态算法工程师面试题精选:10道高频考题+答案解析
java·开发语言·人工智能·ai·面试·笔试
遗憾随她而去.18 小时前
Java学习(一)
java·开发语言·学习
陌路物是人非18 小时前
记一个controller入参为null的奇怪问题
java·开发语言
小瓦码J码18 小时前
Spring boot 如何自定义加密解密数据库连接配置
java