📌  相关文章
📜  在两个数组之间查找公共元素的Java程序(1)

📅  最后修改于: 2023-12-03 15:37:39.723000             🧑  作者: Mango

在两个数组之间查找公共元素的Java程序

这个程序解决了一个常见的问题即在两个数组之间查找公共元素。对于这个问题,我们可以直接使用两个循环来查找所有可能的组合。不过这种方法的时间复杂度为 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。

使用方法

以下是使用这个程序的方法:

  1. 将以上示例代码复制到一个名为 FindCommonElements.java 的文件中;
  2. 打开一个终端,并进入到这个文件所在的目录;
  3. 运行 javac FindCommonElements.java 命令编译程序;
  4. 运行 java FindCommonElements 命令来执行程序。

程序将输出两个数组之间的公共元素。在这个示例中,公共元素是 4 和 5。

总结

这个程序展示了如何在两个数组之间查找公共元素的一个简单方法。通过利用 Java 中的 Set 和 List 接口,以及哈希表数据结构,我们可以快速的查找出两个数组之间的公共元素。