Java:比较两个ArrayLists,删除不匹配的值

bel*_*d91 2 java arraylist

我需要你的帮助 :

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

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

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

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

我尝试在类似的界面的帮助下对它们进行排序并删除值,但我总是得到'concurrentmodificationexception'(是的,我知道:我使用了迭代器循环).

谢谢你的帮助 !

Evg*_*eev 5

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