关于for循环中remove方法使用问题

//直接forEach
List<String> k=new ArrayList<>();
k.add("1");
k.add("2");
k.add("3");
k.add("4");
for (String d:k){
    k.remove(d);
}
//for循环
 List<String> k=new ArrayList<>();
        k.add("1");
        k.add("2");
        k.add("3");
        k.add("4");
        for (int j=0;j<k.size();j++){
            k.remove(k.get(j));
            System.out.println(k);
        }

forEach时remove只是改变逻辑上的,实际上的存储并没有改变

for时会出现丢失的情况,不稳定。

解决办法使用迭代器

posted @ 2023-01-09 15:27  一份人间烟火  阅读(160)  评论(0)    收藏  举报