同类型数组a,b, a为b的子集,求出a的补集

同类型数组a,b, a为b的子集,求出a的补集
User[] a;
User[] b;
/**/ /*
a,b 赋值
*/



// 将a,b转换成Set型,这里转换a,b的方法不同
List < User >  aList = Arrays.asList(a);
Set
< User >  aSet = new  HashSet < User > ();
aSet.addAll(aList);

Set
< User >  bSet = new  HashSet < user > ();
for (User u:b) {
  bSet.add(u);
}


// 求子集
bSet.removeAll(aSet);

return  bSet;

  这里先用到了Arrays的静态方法asList();(Arrays与Array的关系,参照Collection与Collections的关系)。
  再用到了Set 的removeAll(Conllection<?> c) ,这个方法的返回值是boolean型,移除 set 中那些包含在指定 collection 中的元素(可选操作)。如果指定的 collection 也是一个 set,则此操作会实际修改此 set,这样其值是两个 set 的一个 不对称差集。(java API)

你可能感兴趣的:(同类型数组a,b, a为b的子集,求出a的补集)