我需要你的帮助 :
我有一个包含值的特定对象.其中一些值相等,有些不同.基于相同的值,我需要两个比较这些对象的两个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'(是的,我知道:我使用了迭代器循环).
谢谢你的帮助 !
ArrayList具有boolean retainAll(Collection another),它仅保留此collection中包含在指定collection中的元素.为了使它在您的情况下工作,您可以使用equals方法创建一个原始对象的包装器,该方法仅比较必需的字段并将包装器放在ArrayList中.
| 归档时间: |
|
| 查看次数: |
2689 次 |
| 最近记录: |