gpt4 book ai didi

Java : Comparing two ArrayLists, 删除不匹配的值

转载 作者:行者123 更新时间:2023-11-30 06:23:33 24 4
gpt4 key购买 nike

我需要你的帮助:

我有一个特定的对象,包含值。其中有些值相等,有些不同。基于相同的值,我需要两个比较这些对象的两个 ArrayList。至少我必须删除所有未存储在两个列表中的条目。

我写了一个函数,它比较某个对象中的某些字段:

public void compareTwoValues(certainObj1, certainObj2){
boolean returnStmt = true;
for(int i : keysToCheck){
if(!(jop1.returnValueForKey(i).equals(jop2.returnValueForKey(i)))){
returnStmt = false;
}
}
return returnStmt;
}

现在我遇到了问题,如何访问和删除函数返回 false 的对象?

我尝试借助可比接口(interface)对它们进行排序并删除值,但我总是遇到“concurrentmodificationexception”(是的,我知道:我使用了迭代器循环)。

感谢您的帮助!

最佳答案

ArrayList 具有 boolean retainAll(Collection another),它仅保留此集合中包含在指定集合中的元素。为了使其适用于您的情况,您可以使用 equals 方法在原始对象上创建一个包装器,该方法只比较必需的字段并将包装器放在 ArrayList 中。

关于Java : Comparing two ArrayLists, 删除不匹配的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18269878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com