java数组怎么把重复的找出来

查找 java 数组中重复元素的方法主要有:直接比较:遍历数组并依次比较每个元素,时间复杂度 o(n^2)。哈希表:使用哈希表存储元素和计数,查找重复元素的时间复杂度 o(n)。集合:使用集合存储元素,查找重复元素的时间复杂度 o(n)。arrays.sort():对数组排序后查找相邻重复元素,时间复杂度 o(n log n)。

java数组怎么把重复的找出来

如何查找 Java 数组中的重复元素

直接比较

最简单的方法是通过直接比较元素来查找重复元素:

for (int i = 0; i < array.length; i++) {
    for (int j = i + 1; j < array.length; j++) {
        if (array[i] == array[j]) {
            // 找到重复元素
        }
    }
}

时间复杂度:O(n^2),其中 n 是数组的长度。

哈希表

使用哈希表可以优化查找重复元素:

Map<Integer, Integer> map = new HashMap<>();
for (int num : array) {
    if (map.containsKey(num)) {
        // 找到重复元素
    } else {
        map.put(num, 1);
    }
}

时间复杂度:O(n),其中 n 是数组的长度。

集合

如果不需要记录重复元素的次数,可以使用集合来查找重复元素:

Set<Integer> set = new HashSet<>();
for (int num : array) {
    if (!set.add(num)) {
        // 找到重复元素
    }
}

时间复杂度:O(n),其中 n 是数组的长度。

Arrays.sort()

如果数组元素为可比较类型,可以使用 Arrays.sort() 方法对数组排序,然后遍历数组查找相邻元素是否重复:

Arrays.sort(array);
for (int i = 1; i < array.length; i++) {
    if (array[i] == array[i - 1]) {
        // 找到重复元素
    }
}

时间复杂度:O(n log n),其中 n 是数组的长度。

以上就是java数组怎么把重复的找出来的详细内容,更多请关注其它相关文章!