A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yunzhongzhuhuo 中级黑马   /  2014-3-4 18:01  /  702 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求两个集合A,B的对称差集合,即求(A-B)∪(B-A)。

评分

参与人数 1黑马币 +5 收起 理由
何伟超 + 5

查看全部评分

1 个回复

倒序浏览
本帖最后由 上官睿鹏 于 2014-3-4 18:27 编辑

示例代码:;
  1. import java.util.*;
  2. //HashSet<>泛型类集合的交并与差(A-B)∪(B-A)
  3. public class Java{                                                                                                        
  4.     public static void main(String args[]){
  5.             Integer one=new Integer(1),
  6.                        two=new Integer(2),
  7.                        three=new Integer(3),
  8.                        four=new Integer(4),
  9.                        five=new Integer(5),
  10.                        six=new Integer(6);
  11.             HashSet<Integer> A=new HashSet<Integer>(),
  12.             B=new HashSet<Integer>(),
  13.             tempSet=new HashSet<Integer>();
  14.             A.add(one);
  15.             A.add(two);
  16.             A.add(three);
  17.             A.add(four);
  18.             B.add(one);
  19.             B.add(two);
  20.            B.add(five);
  21.            B.add(six);
  22.           tempSet=(HashSet<Integer>) A.clone();
  23.           A.removeAll(B);                        //A变成调用该方法之前的A集合与B集合的差集
  24.           B.removeAll(tempSet);             //B变成调用该方法之前的B集合与tempSet集合的差集
  25.           B.addAll(A);                            //B就是最初的A与B的对称差
  26.           int number=B.size();
  27.           System.out.println("A和B的对称差集合有"+number+"个元素:");
  28.           Iterator<Integer> iter=B.iterator();
  29.           while(iter.hasNext()){
  30.                   Integer te=iter.next();
  31.                   System.out.printf("%d,",te.intValue());
  32.            }
  33.     }
  34. }
复制代码



评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马