我有两个设置的Collection值。我想要显示不匹配的值吗?
Set sqlrno = new HashSet();
Set accessrno = new HashSet();
值就像
sqlrno:1,2,3
accessrno:1,2
预期产量:3
我尝试过以下代码,但不起作用?
for (Object collaccess : accessrno) {
for (Object collsql : sqlrno) {
if (collsql != collaccess) {
System.out.println(collsql);
}
}
}
答案 0 :(得分:0)
使用removeAll()
,从较大的集合中删除
类似
Set<Integer> sqlrno = new HashSet<Integer>();
Set<Integer> accessrno = new HashSet<Integer>();
Set<Integer> result = null;
if(sqlrNo.size() > accessrno.size()){
result = new HashSet<Integer>(sqlrno);
result.removeAll(accessrno);
}else{
result = new HashSet<Integer>(accessrno);
result.removeAll(sqlrno);
}