比如我有两个Set集合,set1,set2,现在想比较set1和set2中的元素,如果set1中有set2中没有,返回set1中有set2中没有的元素数组,反之亦然

解决方案 »

  1.   

    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Set;public class Test {
    public static void main(String[] args) {
    Set set1=new HashSet();
    Set set2=new HashSet();
    set1.add("ss");
    set1.add("dd");
    set1.add("ee");
    set2.add("ss");
    set2.add("cc");
    Iterator it1=set1.iterator();
    Iterator it2=set2.iterator();
    while(it1.hasNext()&&it2.hasNext()){
    Object o1=it1.next();
    Object o2=it2.next();
    if(o1.equals(o2)){
    System.out.println(o1);
    }else{
    System.out.println(o2);
    }

    }

    }
    }
      

  2.   


    public static void main(String[] args) {
    Set<String> set1=new HashSet<String>();
    Set<String> set2=new HashSet<String>();
    set1.add("ss");
    set1.add("dd");
    set1.add("ee");
    set2.add("ss");
    set2.add("cc");
    set1.removeAll(set2);
    String[] arr = set1.toArray(new String[0]);
    System.out.println(java.util.Arrays.toString(arr));
    }
      

  3.   

    import java.util.HashSet;
    import java.util.Set;public class Test {
    public static void main(String[] args) {
        Set<String> set1=new HashSet<String>();
            Set<String> set2=new HashSet<String>();
            set1.add("ss");
            set1.add("dd");
            set1.add("ee");
            set2.add("ss");
            set2.add("cc");
            set1.removeAll(set2);
            String[] arr1 = set1.toArray(new String[0]);
                System.out.println(java.util.Arrays.toString(arr1));
                set2.removeAll(set1);
            String[] arr2 = set2.toArray(new String[0]);
                System.out.println(java.util.Arrays.toString(arr2));
    }
    }