日期:2014-05-19  浏览次数:20680 次

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

------解决方案--------------------
个人认为set可以。建议treeMap,把其中一个数组放入map中,用key取出value值循环向map中添加,如果不能添加,说明是重复值,将之放入到一个list中并最后把list输出。
------解决方案--------------------
if(!set1.add("")){//如果没有添加成功,则是重复的
set2.add("");//将重复的添加进set2
}
------解决方案--------------------
用map,key对应的是数组中的元素,value对应的是每个元素出现的次数!
------解决方案--------------------
内存够用的话用HashSet,并且指定大小。速度快很多。
------解决方案--------------------
探讨
内存够用的话用HashSet,并且指定大小。速度快很多。

------解决方案--------------------
探讨

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