Java迭代两个列表,比较然后添加到另一个列表
我有三个列表:listA
,listB
,listC
listA listB
1,a,tf b,true
2,b,tf a,false
3,c,tf c,true
我希望{
listC
1,a,false
2,b,true
3,c,true
这是我的密码
Iterator a= listA.iterator();
Iterator b= listB.iterator();
while(a.hasNext()){
while(b.hasNext()){
if(String.valueOf(a.next()).split(",")[1].equals(String.valueOf(b.next()).split(",")[0])){
listC.add(String.valueOf(a.next()).replaceAll("tf", String.valueOf(b.next()).split(",")[1]));
}
}
}
对于listA和listB,使用单独的迭代器进行拆分和索引,效果很好,但是当我运行上面的代码时,程序就冻结了。有什么想法吗
# 1 楼答案
你真的不远了。迭代器可能会让人困惑,所以我倾向于避免使用迭代器
我真的看不出无限循环在代码中的位置-我希望是
NullPointerException
,因为您多次调用a.next()
和b.next()
如果更改代码以删除迭代器,则效果良好: