今天去面试,面试官问我,现在有两个数组,每个数组分别有十万条数据,请你以你的方法把他们中重复的数据拿出来。
我说的是SET,请问大家有没有什么好的方法吗

解决方案 »

  1.   

    个人认为set可以。建议treeMap,把其中一个数组放入map中,用key取出value值循环向map中添加,如果不能添加,说明是重复值,将之放入到一个list中并最后把list输出。
      

  2.   

    if(!set1.add("")){//如果没有添加成功,则是重复的
    set2.add("");//将重复的添加进set2
    }
      

  3.   

    用map,key对应的是数组中的元素,value对应的是每个元素出现的次数!
      

  4.   

    内存够用的话用HashSet,并且指定大小。速度快很多。
      

  5.   

    如果数据都是自定义对象的话 要用HashSet就要重写hashCode()和equals(Object obj)
      

  6.   

    MM果然厉害,我还不知道add方法会返回boolean呢,一直认为是void。。
      

  7.   

    我也是说的是用SET,有没有其他方法,比如用数据库实现?
      

  8.   

     我们新手只知道  FOR循环每个字符比对啊