java数组怎么判断重复元素

Java 数组中判断是否存在重复元素的方法有四种:使用 HashSet使用 Map使用双重循环使用排序

Java 数组中判断重复元素

Java中判断数组中是否存在重复元素的方法有几种:

1. 使用 HashSet

HashSet是一种无序集合,可以快速判断元素是否存在。将数组元素添加到 Has

hSet 中,如果元素已存在,则表示有重复元素。

HashSet set = new HashSet<>();
for (int num : array) {
    if (!set.add(num)) {
        System.out.println("存在重复元素:" + num);
    }
}

2. 使用 Map

Map 是一种键值对集合,可以用于判断键(数组元素)是否存在。将数组元素作为键添加到 Map 中,如果键已存在,则表示有重复元素。

Map map = new HashMap<>();
for (int num : array) {
    if (map.containsKey(num)) {
        System.out.println("存在重复元素:" + num);
    } else {
        map.put(num, true);
    }
}

3. 使用双重循环

这种方法比较简单,但效率较低。使用双重循环遍历数组,比较每个元素与其他所有元素,如果找到相同的元素,则表示有重复元素。

for (int i = 0; i < array.length; i++) {
    for (int j = i + 1; j < array.length; j++) {
        if (array[i] == array[j]) {
            System.out.println("存在重复元素:" + array[i]);
        }
    }
}

4. 使用排序

将数组排序后,重复的元素将相邻出现。可以遍历排序后的数组,比较相邻元素是否相等,如果相等,则表示有重复元素。

Arrays.sort(array);
for (int i = 1; i < array.length; i++) {
    if (array[i] == array[i - 1]) {
        System.out.println("存在重复元素:" + array[i]);
    }
}