java 数组怎么去重复的数据

从 Java 数组中去除重复数据的方法包括:HashSet:将数组元素添加到 HashSet 中,HashSet 仅包含唯一元素。LinkedHashSet:将数组元素添加到 LinkedHashSet 中,LinkedHashSet 保留元素插入顺序。Arrays.stream():使用 Arrays.stream() 和 distinct() 方法去除重复数据。排序和循环:对数组排序并循环遍历跳过重复元素。

如何从 Java 数组中去除重复数据

在 Java 中,您可以使用多种方法从数组中去除重复数据。以下是最常用的方法:

HashSet

HashSet 是 Java 集合框架中的一种集合类型,它只能包含不重复的元素。您可以使用以下步骤使用 HashSet 来去除数组中的重复数据:

  1. 将数组元素添加到 HashSet 中:

    Set set = new HashSet<>();
    for (int num : array) {
     set.add(num);
    }
  2. 将 HashSet 转换为数组:

    int[] uniqueArray = new int[set.size()];
    int index = 0;
    for (int num : set) {
     uniqueArray[index++] = num;
    }

LinkedHashSet

LinkedHashSet 是 HashSet 的一个子类,它保留元素插入的顺序。您可以使用以下步骤使用 LinkedHashSet 来去除数组中的重复数据:

  1. 将数组元素添加到 LinkedHashSet 中:

    Set set = new LinkedHashSet<>();
    for (int num : array) {
     set.add(num);
    }
  2. 将 LinkedHashSet 转换为数组:

    int[] uniqueArray = new int[set.size()];
    int index = 0;
    for (int num : set) {
     uniqueArray[index++] = num;
    }

Arrays.stream()

Java 8 及更高版本的 Java 中,您可以使用 Arrays.stream() 和 distinct() 方法来去除数组中的重复数据:

int[] uniqueArray = Arrays.stream(array).distinct().toArray();

排序

和循环

如果数组中的元素是可比的,您可以使用排序和循环来去除重复数据:

  1. 对数组进行排序:

    Arrays.sort(array);
  2. 遍历数组并跳过重复元素:

    int[] uniqueArray = new int[array.length];
    int uniqueIndex = 0;
    for (int i = 1; i < array.length; i++) {
     if (array[i] != array[i - 1]) {
         uniqueArray[uniqueIndex++] = array[i];
     }
    }
  3. 调整 uniqueArray 的大小以匹配唯一元素的数量:

    uniqueArray = Arrays.copyOf(uniqueArray, uniqueIndex);