只有循环了吧!你用Vector会简捷一些的。

解决方案 »

  1.   

    我的思路:
    1、把数组转成vector
    2、善用vector中的方法removeAll和addAll,详细的看api。
      

  2.   

    List listA = Arrays.asList(objArrayA);
    List listB = Arrays.asList(objArrayB);再用
    retainAll() or
    removeAll()
    去运算//还不如自己写个类
      

  3.   

    String[] array1=new String[]{"1","2","3","5"};
    String[] array2=new String[]{"2","3","4","6","7"};
    String[] arrayMax = array1.length>array2.length?array1:array2;
    String[] arrayMin = array1.length<array2.length?array1:array2;
    Vector vec = new Vector();
    HashSet set = new HashSet();
    for(int i=0; i<arrayMax.length; i++){
       set.add(arrayMax[i]);
    }
    for(int i=0; i<arrayMin.length; i++){
       if(!set.add(arrayMin[i]))
          vec.addElement(arrayMin[i]);
    }
    最后vec就是你想要的。
      

  4.   

    我又看了一下HashSet的源代码。
    发现它用了HashMap,HashMap还是要一个一个比较,这样饶了好大一个弯。
    看来我上面的代码反倒弄巧成拙。
    你还是两个数组双重循环吧。
    不过我觉得HashSet至少能过滤某一个数组中相同的元素。
      

  5.   

    谢谢大家了。 xhh(霹雳游侠) 返回的vec好像是两个数组中相同的元素。看来似乎循环还简单些。