1. 使用`ArrayList`和`Collections.addAll`方法:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class UnionOfArrays {
public static void main(String[] args) {
String[] array1 = {"A", "B", "C", "D"};
String[] array2 = {"C", "D", "E", "F"};
String[] union = getUnion(array1, array2);
System.out.println(Arrays.toString(union));
}
public static String[] getUnion(String[] array1, String[] array2) {
ArrayList
unionList = new ArrayList<>(); Collections.addAll(unionList, array1);
Collections.addAll(unionList, array2);
return unionList.toArray(new String);
}
}
2. 使用`System.arraycopy`方法:
import java.util.Arrays;
public class ArrayMerge {
public static void main(String[] args) {
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] array3 = {7, 8, 9};
int[] mergedArray = mergeArrays(array1, array2, array3);
System.out.println("Merged array: " + Arrays.toString(mergedArray));
}
public static int[] mergeArrays(int[]... arrays) {
int totalLength = 0;
for (int[] array : arrays) {
totalLength += array.length;
}
int[] mergedArray = new int[totalLength];
int k = 0;
for (int[] array : arrays) {
System.arraycopy(array, 0, mergedArray, k, array.length);
k += array.length;
}
return mergedArray;
}
}
3. 使用Java 8的`Stream` API:
import java.util.Arrays;
import java.util.stream.Collectors;
public class UnionOfArrays {
public static void main(String[] args) {
String[] array1 = {"A", "B", "C", "D"};
String[] array2 = {"C", "D", "E", "F"};
String[] union = getUnion(array1, array2);
System.out.println(Arrays.toString(union));
}
public static String[] getUnion(String[] array1, String[] array2) {
return Arrays.stream(array1)
.distinct()
.addAll(Arrays.stream(array2).distinct())
.toArray(String[]::new);
}
}
4. 使用`HashSet`来确保元素唯一性:
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class UnionOfArrays {
public static void main(String[] args) {
String[] arr1 = {"1", "2", "3"};
String[] arr2 = {"4", "5", "6"};
String[] result_union = union(arr1, arr2);
System.out.println("并集的结果如下:");
for (String str : result_union) {
System.out.println(str);
}
}
public static String[] union(String[] arr1, String[] arr2) {
Set
set = new HashSet<>(); for (String str : arr1) {
set.add(str);
}
for (String str : arr2) {
set.add(str);
}
return set.toArray(new String);
}
}
以上是几种实现数组并集的方法,您可以根据具体需求选择合适的方法。