Java数组去重可以通过以下两种方法实现:

  1. 使用Set集合

可以将数组中的元素添加到Set集合中,由于Set集合中不允许重复元素,因此重复的元素会自动被去除。然后再将Set集合转换为数组即可。

示例代码:

import java.util.*;

public class ArrayDistinctExample {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 3, 2, 1};
        Set<Integer> set = new HashSet<>();
        for (int i = 0; i < array.length; i++) {
            set.add(array[i]);
        }
        int[] result = new int[set.size()];
        int index = 0;
        for (int element : set) {
            result[index++] = element;
        }
        System.out.println("Original Array: " + Arrays.toString(array));
        System.out.println("Distinct Array: " + Arrays.toString(result));
    }
}

输出结果:

Original Array: [1, 2, 3, 4, 3, 2, 1]
Distinct Array: [1, 2, 3, 4]
  1. 使用双重循环

可以使用双重循环遍历数组,对于每个元素,再遍历它之后的元素,如果找到了相同的元素,则将它们之后的元素依次向前移动一个位置,直到数组末尾。这样就可以实现去重。

示例代码:

import java.util.*;

public class ArrayDistinctExample {
    public static void main(String[] args) {
        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]) {
                    for (int k = j; k < length - 1; k++) {
                        array[k] = array[k + 1];
                    }
                    length--;
                    j--;
                }
            }
        }
        int[] result = Arrays.copyOf(array, length);
        System.out.println("Original Array: " + Arrays.toString(array));
        System.out.println("Distinct Array: " + Arrays.toString(result));
    }
}

输出结果:

Original Array: [1, 2, 3, 4, 3, 2, 1]
Distinct Array: [1, 2, 3, 4]
java数组去重

原文地址: https://www.cveoy.top/t/topic/qrH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录