java数组怎么判断有没有重复

Java 数组中是否有重复元素的判断方法:使用 HashSet,它不存储重复元素。使用 HashMap,它将键映射到值,可以检查重复元素。数组排序后遍历查找重复元素。使用布尔数组,索引代表元素,值表示元素是否出现过。

Java 数组判断是否有重复元素

判断一个 Java 数组中是否包含重复元素是一个常见问题。有几种方法可以实现这个目标:

1. 使用 HashSet

HashSet 是一个内置的 Java 集合类,它不存储重复元素。方法如下:

Set set = new HashSet<>();
for (int element : array) {
  if (!set.add(element)) {
    // 数组中有重复元素
  }
}

2. 使用 HashMap

HashMap 也是一个内置的 Java 集合类,它将键映射到值。通过使用 HashMap,我们可以以以下方式检查重复元素:

Map map = new HashMap<>();
for (int element : array) {
  if (map.containsKey(element)) {
    // 数组中有重复元素
  } else {
    map.put(element, 1);
  }
}

3. 使用排序

我们可以对数组进行排序,然后遍历排序后的数组以查找重复元素。方法如下:

Arrays.sort(array);
for (int i = 1; i < array.length

; i++) { if (array[i] == array[i - 1]) { // 数组中有重复元素 } }

4. 使用布尔数组

我们可以创建一个布尔数组,其中索引代表数组中的元素,而值表示元素是否出现过。方法如下:

boolean[] visited = new boolean[array.length];
for (int element : array) {
  if (visited[element]) {
    // 数组中有重复元素
  }
  visited[element] = true;
}

选择哪种方法?

选择哪种方法取决于数组的大小和性能要求。HashSet 和 HashMap 对于大型数组更有效率,而对于小型数组,排序方法可能更简单。布尔数组方法对于非常大的数组可能更好。