欢迎访问宙启技术站
智能推送

Java函数:如何进行数组去重?

发布时间:2023-07-09 21:13:23

在Java中,有多种方法可以对数组进行去重。下面我将介绍三种常用的方法。

1. 使用Set集合:将数组元素添加到Set集合中,由于Set集合不能包含重复元素,最后将Set集合转换为数组即可。示例代码如下:

public static int[] removeDuplicates(int[] arr) {
    Set<Integer> set = new HashSet<>();
    for (int num : arr) {
        set.add(num);
    }
    int[] result = new int[set.size()];
    int index = 0;
    for (int num : set) {
        result[index++] = num;
    }
    return result;
}

2. 使用ArrayList:创建一个ArrayList对象,遍历数组,将不重复的元素添加到ArrayList中,最后将ArrayList转换为数组。示例代码如下:

public static int[] removeDuplicates(int[] arr) {
    List<Integer> list = new ArrayList<>();
    for (int num : arr) {
        if (!list.contains(num)) {
            list.add(num);
        }
    }
    int[] result = new int[list.size()];
    for (int i = 0; i < list.size(); i++) {
        result[i] = list.get(i);
    }
    return result;
}

3. 使用双重循环:遍历数组,比较当前元素与之前的元素是否相等,如果相等则跳过,否则将当前元素添加到结果数组中。示例代码如下:

public static int[] removeDuplicates(int[] arr) {
    int[] result = new int[arr.length];
    int index = 0;
    for (int i = 0; i < arr.length; i++) {
        boolean isDuplicate = false;
        for (int j = 0; j < i; j++) {
            if (arr[i] == arr[j]) {
                isDuplicate = true;
                break;
            }
        }
        if (!isDuplicate) {
            result[index++] = arr[i];
        }
    }
    return Arrays.copyOf(result, index);
}

以上是三种常用的方法对Java数组进行去重的实现。在实际应用中,可以根据具体情况选择最适合的方法。