Java 如何找到两个数组的并集
在Java中,数组是一个对象。它是一种非原始数据类型,用于存储相同数据类型的值。
根据问题的陈述,我们要找到两个数组的并集。并集是指合并在一起,而数组的并集是指将输入数组中的所有唯一元素组合成一个新数组。
让我们探讨一下这篇文章,看看如何使用Java编程语言来实现这个功能。
为您展示一些示例
示例1
Suppose the first array is {0, 3, 5, 6, 9, 1}.
And the second array is {1, 2, 6, 10, 8, 7}.
然后执行并集操作后,结果将是 −
Union of two arrays is: [0, 1, 2, 3, 5, 6, 7, 8, 9, 10]
示例2
Suppose the first array is {0, 5, 11, 7, 9, 3}.
And the second array is {1, 2, 4, 5, 12, 7}.
然后执行并集操作后的结果将为-
Union of two arrays is: [0, 1, 2, 3, 4, 5, 7, 9, 11, 12]
示例3
Suppose the first array is {12, 13, 5, 16, 9, 19}.
And the second array is {16, 2, 60, 9, 8, 5}.
然后执行并集操作后的结果将是 −
Union of two arrays is: [16, 2, 19, 5, 8, 9, 12, 60, 13]
步骤
- 第一步 - 声明和初始化一个整数数组。
-
第二步 - 初始化Hashset以存储第一个数组和第二个数组的并集。
-
第三步 - 将第一个数组和第二个数组的所有元素添加到集合中。
-
第四步 - 打印结果。
语法
要获取数组的长度(即数组中的元素数),有一个内置的数组属性,即 length.
以下是其语法的参考 −
array.length
将数组转换为元素列表,java.util package 的 Arrays 类提供了内置的 asList() 方法。
下面是它的语法:
Arrays.asList(array);
在这里,“array”代表数组引用。
多种方法
我们以不同的方法提供了解决方案。
- 通过使用数组的静态初始化。
-
通过使用用户定义的方法。
让我们逐个查看程序及其输出。
方法1:通过使用数组的静态初始化
示例
在这个方法中,数组元素将在程序中初始化。然后根据算法找出两个数组的并集。
import java.util.*;
public class Main{
//main method
public static void main(String[] args){
//Declare and initialize the first array elements
Integer arr1[] = {12, 13, 5, 16, 9, 19};
//Declare and initialize the second array elements
Integer arr2[] = {16, 2, 60, 9, 8, 5};
//Initialize Hashset to perform union operation
HashSet<Integer> set = new HashSet<>();
//add first array to set
set.addAll(Arrays.asList(arr1));
//add second array to set
set.addAll(Arrays.asList(arr2));
//convert to array from set
Integer[] union = {};
union = set.toArray(union);
//print the result
System.out.println("Union of two arrays is: " + Arrays.toString(union));
}
}
输出
Union of two arrays is: [16, 2, 19, 5, 8, 9, 12, 60, 13]
方法2:使用自定义方法
示例
在这种方法中,程序将对数组元素进行初始化。然后通过将数组作为参数传递并在方法内根据算法找到两个数组的并集。
import java.util.*;
public class Main{
//main method
public static void main(String[] args){
//Declare and initialize the first array elements
Integer arr1[] = { 0, 5, 11, 7, 9, 3};
//Declare and initialize the second array elements
Integer arr2[] = { 1, 2, 4, 5, 12, 7 };
union(arr1, arr2);
}
//user defined method
public static void union(Integer []arr1, Integer []arr2){
//Initialize Hashset to perform union operation
HashSet<Integer> set = new HashSet<>();
//add first array to set
set.addAll(Arrays.asList(arr1));
//add second array to set
set.addAll(Arrays.asList(arr2));
//convert to array from set
Integer[] union = {};
union = set.toArray(union);
//print the result
System.out.println("Union of two arrays is: " + Arrays.toString(union));
}
}
输出
Union of two arrays is: [0, 1, 2, 3, 4, 5, 7, 9, 11, 12]
在本文中,我们探讨了如何在Java中找到两个数组的并集。