我们如何从两个数组中找出缺失的元素?前任:
int []array1 ={1,2,3,4,5};
int []array2 ={3,1,2};
Run Code Online (Sandbox Code Playgroud)
从上面的两个数组中,我想找到第二个数组中缺少的元素是什么?
将它们转换为Sets 并使用removeAll.
第一个问题是如何将原始类型转换int[]为集合。使用番石榴,您可以使用:
List<Integer> list1 = Ints.asList(array1);
List<Integer> list2 = Ints.asList(array2);
Run Code Online (Sandbox Code Playgroud)
Apache commons(我不熟悉)显然有类似的东西。
现在转换为一组:
Set<Integer> set1 = new HashSet<Integer>(list1);
Run Code Online (Sandbox Code Playgroud)
并计算差异:
set1.removeAll(list2);
Run Code Online (Sandbox Code Playgroud)
并将结果转换回数组:
return Ints.toArray(set1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7320 次 |
| 最近记录: |