在 Java 中如何找到两个数组之间的交集

操作思路:

  • 在 HashSet 实例中推送第一个数组。
  • 使用 retainAll() 方法只保留存在于第二个数组中的元素。

两个整数数组的交集

用于获取两个整数数组之间的交集并打印输出的 Java 程序。

import java.util.Arrays;
import java.util.HashSet;
public class Main 
{
  public static void main(String[] args) 
  {
    Integer[] firstArray = {0,1,2,3,4,5,6,7,8,9};
    Integer[] secondArray = {1,3,5,7,9};

    HashSet<Integer> set = new HashSet<>(); 

    set.addAll(Arrays.asList(firstArray));

    set.retainAll(Arrays.asList(secondArray));

    System.out.println(set);

    //convert to array
    Integer[] intersection = {};
    intersection = set.toArray(intersection);

    System.out.println(Arrays.toString(intersection));
  }
}

程序输出。

[1, 3, 5, 7, 9]
[1, 3, 5, 7, 9]
欢迎来到之路教程(on itroad-com)

两个字符串数组的交集

Java 程序获取两个字符串数组之间的交集并打印输出。

import java.util.Arrays;
import java.util.HashSet;
public class Main 
{
  public static void main(String[] args) 
  {
    String[] firstArray = {"A", "B", "C", "D"};
    String[] secondArray = {"D", "A", "E", "F"};

    HashSet<String> set = new HashSet<>(); 

    set.addAll(Arrays.asList(firstArray));

    set.retainAll(Arrays.asList(secondArray));

    System.out.println(set);

    //convert to array
    String[] intersection = {};
    intersection = set.toArray(intersection);

    System.out.println(Arrays.toString(intersection));
  }
}

程序输出。

[A, D]
[A, D]
日期:2020-09-17 00:09:19 来源:oir作者:oir