📅  最后修改于: 2023-12-03 15:37:39.723000             🧑  作者: Mango
这个程序解决了一个常见的问题即在两个数组之间查找公共元素。对于这个问题,我们可以直接使用两个循环来查找所有可能的组合。不过这种方法的时间复杂度为 O(n^2),随着数组大小的增加,程序的性能会降低。为了提高性能,可以使用哈希表数据结构来解决这个问题。
下面就是一个简单的 Java 程序来查找两个数组之间的公共元素。
import java.util.*;
public class FindCommonElements {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = {4, 5, 6, 7, 8};
List<Integer> common = findCommonElements(arr1, arr2);
System.out.println("The common elements are: " + common);
}
public static List<Integer> findCommonElements(int[] arr1, int[] arr2) {
Set<Integer> set1 = new HashSet<>();
for (int i = 0; i < arr1.length; i++) {
set1.add(arr1[i]);
}
Set<Integer> set2 = new HashSet<>();
for (int j = 0; j < arr2.length; j++) {
set2.add(arr2[j]);
}
set1.retainAll(set2);
return new ArrayList<>(set1);
}
}
上面这个程序利用了 Java 中的 Set 和 List 两个接口来实现查找两个数组之间的公共元素。首先,它将数组 arr1 和 arr2 分别转化为了 Set 类型的对象 set1 和 set2。然后,它调用了 Set 接口中的 retainAll 方法,这个方法会返回两个 Set 之间的交集。最终,程序将得到一个包含公共元素的 List 对象 common。
以下是使用这个程序的方法:
程序将输出两个数组之间的公共元素。在这个示例中,公共元素是 4 和 5。
这个程序展示了如何在两个数组之间查找公共元素的一个简单方法。通过利用 Java 中的 Set 和 List 接口,以及哈希表数据结构,我们可以快速的查找出两个数组之间的公共元素。