【发布时间】:2015-12-02 12:58:37
【问题描述】:
我有一个主数组列表(称为filteredArrayList,我想在其上导入另一个数组列表(称为importArrayList),过滤值并创建一个新的checkedArrayList,以获取真正唯一的然后追加checkedArrayList 终于交给主人了。
我的代码的问题是导入总是导入importArrayList 中的所有对象,而不是实际检查当前值。
ArrayList<Patient> checkedPatientList=new ArrayList<Patient>();
mainloop:for(Patient imp:importPatientList){
for(Patient p: filteredPatientList){
if (imp.getpID()!=p.getpID()){
checkedPatientList.add(imp);
continue mainloop;
}
}
}
我尝试了很多事情但都失败了,欢迎任何关于如何做的想法。
【问题讨论】:
-
能否请您提供 Patient 类?
-
如果您想要唯一的值,
Set不是更有用吗? -
您必须进一步解释“独特”的含义。对您来说唯一是否意味着它不是同一个对象(不是相同的引用)或唯一意味着 2 个患者不包含相同的数据?
-
您的 if / add 不正确:当只有一个 ID 不同时,它会添加。查看我的代码
-
对不起,我应该提到处理了唯一性。 .getpID() 获取患者的唯一 ID,该 ID 始终是唯一的(它基于哈希码,我已经对其进行了测试)。
标签: java for-loop arraylist nested