我有两个集合值。我想要显示不匹配的值?

时间:2014-01-11 21:29:27

标签: java collections

我有两个设置的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);
                 }
             }
         }

1 个答案:

答案 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);
}
相关问题