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

如何使用Java函数将数组中的重复元素删除?

发布时间:2023-07-04 13:17:52

要删除数组中的重复元素,可以使用Java函数来迭代数组,找到重复元素并删除它们。以下是一个实现这个功能的例子:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;

public class RemoveDuplicates {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 2, 3, 5};

        System.out.println("原数组: " + Arrays.toString(arr));

        int[] newArr = removeDuplicates(arr);

        System.out.println("去重后的数组: " + Arrays.toString(newArr));
    }

    public static int[] removeDuplicates(int[] arr) {
        HashSet<Integer> set = new HashSet<>();
        ArrayList<Integer> list = new ArrayList<>();

        for (int i : arr) {
            if (!set.contains(i)) {
                set.add(i);
                list.add(i);
            }
        }

        int[] newArr = new int[list.size()];
        for (int i = 0; i < newArr.length; i++) {
            newArr[i] = list.get(i);
        }

        return newArr;
    }
}

在这个例子中,我们首先创建一个HashSet和一个ArrayList来存储唯一的元素。然后,我们遍历整个原始数组,每次迭代时检查HashSet中是否已经存在当前元素。如果元素不存在,我们将其添加到HashSet和ArrayList中。

最后,我们将ArrayList转换为一个新的数组,这样就完成了重复元素的删除操作。返回的新数组就是不含重复元素的结果。

运行这段代码,输出将会是:

原数组: [1, 2, 3, 4, 2, 3, 5]
去重后的数组: [1, 2, 3, 4, 5]

这个方法的时间复杂度是O(n),其中n为原始数组的长度。它的空间复杂度也是O(n),因为我们使用了HashSet和ArrayList来存储唯一的元素。