我有两个整数的数组/数组列表。我想知道从两个中找到重复项并将其存储到第三个中的优化方法。
Array1 = {1,2,3,6,9,10,15,4};
Array2 = {4,8,6,5,12,14,1,2,9};
Result Array= {1,2,3,6,9,10,15,4,8,5,12,14,9}
此致 Android IT
答案 0 :(得分:2)
我更喜欢使用Set而不是HashMap,因为HashMap需要key-value
&设置谈论 UNIQUENESS 。 设置不允许重复...
答案 1 :(得分:1)
将两个数组的元素添加到HashMap中,其中值是元素出现的次数。然后将其输出到数组。
答案 2 :(得分:1)
你的意思是,一个联盟?
List<Integer> array1 = Arrays.asList(1,2,3,6,9,10,15,4);
Set<Integer> set1 = new HashSet<Integer>(array1);
List<Integer> array2 = Arrays.asList(4,8,6,5,12,14,1,2,9);
Set<Integer> set2 = new HashSet<Integer>(array2);
set1.addAll(set2);
List<Integer> resultArray = new ArrayList<Integer>(set1);
现在resultArray
包含
[1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 14, 15]
答案 3 :(得分:0)
有效的方法,对数组进行排序(O(n log n))并迭代两个数组中的最低数据,只有在两者中都选择它(O(n)),否则丢弃。