Java

java数组去重的方法是什么

小亿
102
2023-10-26 15:19:33
栏目: 编程语言

Java数组去重的方法有多种,以下是常见的几种方法:

  1. 使用Set:将数组元素存入Set集合中,由于Set集合不允许重复元素,重复的元素将被自动去除。最后将Set集合转换回数组即可。
int[] array = {1, 2, 3, 4, 3, 2, 1};
Set<Integer> set = new HashSet<>();
for (int num : array) {
    set.add(num);
}
int[] result = new int[set.size()];
int index = 0;
for (int num : set) {
    result[index++] = num;
}
  1. 使用List:将数组元素存入List集合中,然后使用Java 8的stream去重,并转换回数组。
int[] array = {1, 2, 3, 4, 3, 2, 1};
List<Integer> list = new ArrayList<>();
for (int num : array) {
    if (!list.contains(num)) {
        list.add(num);
    }
}
int[] result = list.stream().mapToInt(Integer::intValue).toArray();
  1. 使用双重循环:遍历数组,对每一个元素,再遍历其后的元素,如果找到相同的元素则跳过,否则添加到新数组中。
int[] array = {1, 2, 3, 4, 3, 2, 1};
int length = array.length;
for (int i = 0; i < length; i++) {
    for (int j = i + 1; j < length; j++) {
        if (array[i] == array[j]) {
            array[j] = array[length - 1];
            length--;
            j--;
        }
    }
}
int[] result = Arrays.copyOf(array, length);

以上是三种常见的数组去重方法,根据实际情况选择适合的方法即可。

0
看了该问题的人还看了