java找出两个数组中的差异元素并存入一个新的数组并排序,假设每个数组内部都没有重复元素。
时间: 2023-08-14 14:05:24 浏览: 105
好的,这是一个有点技术性的问题。我可以帮您解决这个问题。下面是我为您提供的 Java 代码示例:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Integer[] arr1 = {1, 2, 3, 4, 5};
Integer[] arr2 = {2, 3, 4, 6, 7};
Integer[] diff = diffArray(arr1, arr2);
System.out.println(Arrays.toString(diff));
}
public static Integer[] diffArray(Integer[] arr1, Integer[] arr2) {
Set<Integer> set1 = new HashSet<>(Arrays.asList(arr1));
Set<Integer> set2 = new HashSet<>(Arrays.asList(arr2));
Set<Integer> diff = new HashSet<>(set1);
diff.addAll(set2);
Set<Integer> tmp = new HashSet<>(set1);
tmp.retainAll(set2);
diff.removeAll(tmp);
Integer[] result = diff.toArray(new Integer[0]);
Arrays.sort(result);
return result;
}
}
```
这个函数接受两个参数 arr1 和 arr2,分别是两个数组。它使用 Set 数据结构来找出两个数组的差异元素。首先,将 arr1 和 arr2 转换成 Set 数据结构,然后将它们合并成一个 Set(即 diff),接着使用 retainAll 方法找出两个 Set 的交集,最后使用 removeAll 方法从 diff 中移除交集元素。diff 中剩下的元素即为两个数组的差异元素,将它们转换成数组并排序,然后返回这个数组。
希望这个代码对您有所帮助!
阅读全文