黑马程序员技术交流社区

标题: 编程题 [打印本页]

作者: yunzhongzhuhuo    时间: 2014-3-4 18:01
标题: 编程题
求两个集合A,B的对称差集合,即求(A-B)∪(B-A)。
作者: 上官睿鹏    时间: 2014-3-4 18:20
本帖最后由 上官睿鹏 于 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. }
复制代码








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2