You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从ArrayList中删除包含指定整数值的元素

Java ArrayList删除包含指定值元素的实现方案

前提说明

你的ArrayList存储的是字符串格式的交易记录,需要过滤掉所有包含98765432的元素。

方案1:Java 8+ 直接使用removeIf(推荐)

写法最简单,性能也足够满足绝大多数场景:

// 初始化你的ArrayList,这里模拟你给出的原始数据
ArrayList<String> accountList = new ArrayList<>(Arrays.asList(
    "Savings 12345678 0.60",
    "Checking 98765432 0.01",
    "Deposit 98765432 300",
    "Transfer 98765432 12345678 300"
));

// 核心过滤逻辑:删除所有包含98765432的元素
accountList.removeIf(item -> item.contains("98765432"));

// 验证输出:最终只保留 [Savings 12345678 0.60]
System.out.println(accountList);

方案2:低版本Java用迭代器遍历删除

如果你的项目Java版本低于8,不支持lambda表达式,用迭代器删除避免报错:

ArrayList<String> accountList = new ArrayList<>(Arrays.asList(
    "Savings 12345678 0.60",
    "Checking 98765432 0.01",
    "Deposit 98765432 300",
    "Transfer 98765432 12345678 300"
));

Iterator<String> iterator = accountList.iterator();
while (iterator.hasNext()) {
    String current = iterator.next();
    if (current.contains("98765432")) {
        iterator.remove();
    }
}

System.out.println(accountList);

注意事项

  • 不要用普通for循环正序遍历调用list.remove()删除元素,会因为元素下标前移导致漏删
  • 不要用增强for循环(for-each)删除元素,会抛出ConcurrentModificationException并发修改异常
  • 如果你的ArrayList存储的是自定义实体类,把判断条件改成对应字段的匹配逻辑即可,比如item.getAccountCode() == 98765432

内容的提问来源于stack exchange,提问作者Simply Bacon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:15:06