两组特别大的数,怎么找出其中一组数在另一组数不存在的值?

解决方案 »

  1.   

    个人觉得用set容器做可能方便些。
      

  2.   

    用set我也必须的循环添加再去比较,而且怎么查找出不同的来还不是很清楚
      

  3.   

    你说的大,是值很大还是size很大?有多大?
    是否有重复的元素?
      

  4.   

    两组数内部没有重复的元素,但是两组数有相同的元素,现在就是要找出其中一个数组在另一个数组内的不同的值。是size大,一组大概几千个数。
      

  5.   

    public static void remove() {
    Integer[] arr1 = { 1, 2, 3, 4, 5, 6, 7 };
    Integer[] arr2 = { 2, 3, 4, 6, 7, 8};
    List<Integer> list1 = new ArrayList<Integer>(Arrays.asList(arr1));
    List<Integer> list2 = new ArrayList<Integer>(Arrays.asList(arr2));
    list1.removeAll(list2);
    System.out.println(list1);
    }
      

  6.   

    高人  list1.removeAll(list2);
    一个方法搞定
    强!
      

  7.   

    使用 CollectionUtils 中四个方法之一执行集合操作.这四种分别是 union(),intersection();disjunction(); subtract();下列例子就是演示了如何使用上述四个方法处理两个 Collection;注: 这些方法都是数学的集合算法Java代码 import java.util.Arrays;  import java.util.Collection;  import java.util.Collections;  import java.util.List;    import org.apache.commons.collections.CollectionUtils;  import org.apache.commons.lang.ArrayUtils;    public class CollectionUtilsIntro {   @SuppressWarnings("unchecked")   public static void main(String[] args) {    String[] arrayA = new String[] { "1", "2", "3", "3", "4", "5" };    String[] arrayB = new String[] { "3", "4", "4", "5", "6", "7" };      List a = Arrays.asList(arrayA);    List b = Arrays.asList(arrayB);    //并集    Collection union = CollectionUtils.union(a, b);    //交集    Collection intersection = CollectionUtils.intersection(a, b);    //交集的补集    Collection disjunction = CollectionUtils.disjunction(a, b);    //集合相减    Collection subtract = CollectionUtils.subtract(a, b);      Collections.sort((List) union);    Collections.sort((List) intersection);    Collections.sort((List) disjunction);    Collections.sort((List) subtract);      System.out.println("A: " + ArrayUtils.toString(a.toArray()));    System.out.println("B: " + ArrayUtils.toString(b.toArray()));    System.out.println("--------------------------------------------");    System.out.println("Union(A, B): " + ArrayUtils.toString(union.toArray()));    System.out.println("Intersection(A, B): " + ArrayUtils.toString(intersection.toArray()));    System.out.println("Disjunction(A, B): " + ArrayUtils.toString(disjunction.toArray()));    System.out.println("Subtract(A, B): " + ArrayUtils.toString(subtract.toArray()));   }  }   输出如下:A: {1,2,3,3,4,5}B: {3,4,4,5,6,7}--------------------------------------------Union(A, B): {1,2,3,3,4,4,5,6,7}Intersection(A, B): {3,4,5}Disjunction(A, B): {1,2,3,4,6,7}Subtract(A, B): {1,2,3}