Java去重两个数组

在Java中,我们经常需要对数组进行去重操作,即去除数组中重复的元素。本文将介绍如何使用Java去重两个数组,并提供相应的代码示例。

去重两个数组的方法

在Java中,可以通过以下几种方法去重两个数组:

  1. 使用Set集合去重
  2. 使用Stream流去重
  3. 使用双重循环遍历去重

下面我们将分别介绍这三种方法,并给出相应的代码示例。

使用Set集合去重

Set是一个不允许有重复元素的集合,可以利用这一特性来去重数组。

import java.util.*;

public class RemoveDuplicates {
    public static void main(String[] args) {
        Integer[] arr1 = {1, 2, 3, 4, 5};
        Integer[] arr2 = {3, 4, 5, 6, 7};

        Set<Integer> set = new HashSet<>(Arrays.asList(arr1));
        set.addAll(Arrays.asList(arr2));

        Integer[] result = set.toArray(new Integer[0]);
        System.out.println(Arrays.toString(result));
    }
}

使用Stream流去重

Java 8引入了Stream流,可以方便地对集合进行操作,包括去重。

import java.util.*;

public class RemoveDuplicates {
    public static void main(String[] args) {
        Integer[] arr1 = {1, 2, 3, 4, 5};
        Integer[] arr2 = {3, 4, 5, 6, 7};

        List<Integer> list = Arrays.stream(arr1)
                                   .distinct()
                                   .collect(Collectors.toList());

        Arrays.stream(arr2)
              .filter(i -> !list.contains(i))
              .forEach(list::add);

        Integer[] result = list.toArray(new Integer[0]);
        System.out.println(Arrays.toString(result));
    }
}

使用双重循环遍历去重

双重循环遍历是一种比较传统的去重方法,虽然效率相对较低,但是也可以实现去重的效果。

import java.util.*;

public class RemoveDuplicates {
    public static void main(String[] args) {
        Integer[] arr1 = {1, 2, 3, 4, 5};
        Integer[] arr2 = {3, 4, 5, 6, 7};

        List<Integer> list = new ArrayList<>();
        for (Integer num : arr1) {
            if (!list.contains(num)) {
                list.add(num);
            }
        }

        for (Integer num : arr2) {
            if (!list.contains(num)) {
                list.add(num);
            }
        }

        Integer[] result = list.toArray(new Integer[0]);
        System.out.println(Arrays.toString(result));
    }
}

## 结论

通过以上方法,我们可以实现对两个数组进行去重操作。不同的方法有不同的实现方式和效率,可以根据实际情况选择合适的方法。希望本文对您有所帮助!