迭代器Iterator的remove()方法使用的注意事项
下面是两种方法
点击查看代码
public static void main(String[] args) {
List<Integer> a = new ArrayList<>();
List<Integer> b = new ArrayList<>();
a.add(1);
a.add(2);
a.add(3);
b.add(1);
b.add(3);
b.add(2);
if (CollectionUtil.isNotEmpty(a)) {
if (CollectionUtil.isNotEmpty(b)) {
for (int i = 0; i < a.size(); i++) {
Integer intA = a.get(i);
System.err.println(i + "i:" + intA);
for (int j = 0; j < b.size(); j++) {
Integer intB = b.get(j);
System.err.println(j + "j:" + intB);
if (intA.equals(intB)) {
a.remove(i);
b.remove(j);
i--;
break;
}
}
}
Iterator<Integer> ai = a.iterator();
Iterator<Integer> bi = b.iterator();
while (ai.hasNext()) {
Integer an = ai.next();
while (bi.hasNext()) {
Integer bn = bi.next();
if (an.equals(bn)) {
ai.remove();
bi.remove();
break;
}
}
}
}
}
System.out.println(a);
System.out.println(b);
}
参考
偶做前堂客
祝你天天开心
在未知的时间
在未知的地点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了