基本上我正在尝试学习如何跳过列表中的元素,同时将它与具有特定索引的不同元素集的克隆列表进行比较
例如:
List<String> a;
List<String> b = a.clone();
b.set(i, "word");
所以基本上如果i中的元素在b中发生了变化,我想检查的是我是否可以跳过检查i处的元素,看看是否所有其他元素都保留在列表a的同一索引中,我试过这个:
public static boolean check(List<String> d, List<String> a,int i)
{
boolean check = false;
for (int r = 0; r < d.size(); r++)
{
if (r == i) continue;
check = d.get(r).equals(a.get(i));
}
System.out.println(check);
return check;
}
但每次测试时都会返回false
这是出于学习目的,如果您觉得我没有正确解释自己,请发表评论。
答案 0 :(得分:0)
我编辑了你的代码,检查两个列表中匹配的元素数量。匹配的数量(由变量 ct 保存)应该比List的大小小1,因为跳过了1个元素。 true 或 false 会相应返回。
public static boolean check(List<String> d, List<String> a,int i) {
int ct=0;
for (int r = 0; r < d.size(); r++) {
if (r==i)
continue;
if((d.get(i)).equals(a.get(i)))
ct++;
}
if(ct==d.size()-1)
return true;
return false;
}
希望它能解决你的问题。