A泽予 2024-01-03 13:39 采纳率: 50%
浏览 7

用未注释的方法删除带有关键字元素报错为什么


import java.util.ArrayList;

public class shopping_cart {
    public static void main(String[] args) {
        ArrayList<String> shopping_cart = new ArrayList<String>();
        shopping_cart.add("java入门");
        shopping_cart.add("宁夏枸杞");
        shopping_cart.add("黑枸杞");
        shopping_cart.add("人字拖");
        shopping_cart.add("特级枸杞");
        shopping_cart.add("枸杞子");
//        for (int i = 0; i < shopping_cart.size();) {
//            if(shopping_cart.get(i).contains("枸杞")) {
//                shopping_cart.remove(i);
//            }else{
//                i++;
//            }
//        }
        for (String s : shopping_cart) {
            if(s.contains("枸杞")){
                shopping_cart.remove(s);
            }
        }
        System.out.println(shopping_cart);
    }
}

注释部分没问题,用未注释的方法删除带有关键字元素报错为什么?

img

  • 写回答

2条回答 默认 最新

  • 无序繁星 2024-01-03 14:48
    关注

    for循环中不能删除元素, 可以用迭代器删除

    Iterator<String> iterator = shopping_cart.iterator();
            while (iterator.hasNext()) {
                String s = iterator.next();
                if (s.contains("枸杞")) {
                    iterator.remove();
                }
            }
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 1月3日

悬赏问题

  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥35 跳过我的世界插件ip验证
  • ¥15 抖音看过的视频,缓存在哪个文件
  • ¥15 自定义损失函数报输入参数的数目不足
  • ¥15 如果我想学习C大家有是的的资料吗
  • ¥15 根据文件名称对文件进行排序
  • ¥15 deploylinux的ubuntu系统无法成功安装使用MySQL❓
  • ¥15 有人会用py或者r画这种图吗