关于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 @   一份人间烟火  阅读(151)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示