Java 实例 - 数组交集

前言

在我们的日常生活中,常常需要对多个数组进行操作,其中一个常见的操作就是求两个数组的交集。今天我们就来学习如何使用 Java 实现这个操作。

实现方法

我们可以先将两个数组排序,然后使用双指针遍历两个数组,找到交集元素并加入结果集中。

public int[] intersection(int[] nums1, int[] nums2) {
    Arrays.sort(nums1);
    Arrays.sort(nums2);
    int i = 0, j = 0;
    List res = new ArrayList();
    while (i 

我们使用了 List 来存储结果集,最后将其转换为 int[] 类型返回。

测试用例

下面我们来编写测试用例来验证我们的代码是否正确。

@Test
public void test() {
    int[] nums1 = new int[] { 1, 2, 2, 1 };
    int[] nums2 = new int[] { 2, 2 };
    int[] res = new int[] { 2 };
    assertArrayEquals(res, intersection(nums1, nums2));

    nums1 = new int[] { 4, 9, 5 };
    nums2 = new int[] { 9, 4, 9, 8, 4 };
    res = new int[] { 4, 9 };
    assertArrayEquals(res, intersection(nums1, nums2));
}

我们使用 JUnit 框架进行测试,分别测试了两组数据,结果均正确。

总结

在本文中,我们学习了如何使用 Java 实现数组交集。我们使用了排序和双指针两种方法来解决这个问题。希望本文能对各位 Java 爱好者有所帮助。

本文来源:词雅网

本文地址:https://www.ciyawang.com/7bh6rl.html

本文使用「 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 」许可协议授权,转载或使用请署名并注明出处。

相关推荐