Java数组去重的方法有多种,以下是常见的几种方法:
- 使用Set:将数组元素存入Set集合中,由于Set集合不允许重复元素,重复的元素将被自动去除。最后将Set集合转换回数组即可。
int[] array = {1, 2, 3, 4, 3, 2, 1}; Setset = 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; }
- 使用List:将数组元素存入List集合中,然后使用Java 8的stream去重,并转换回数组。
int[] array = {1, 2, 3, 4, 3, 2, 1}; Listlist = new ArrayList<>(); for (int num : array) { if (!list.contains(num)) { list.add(num); } } int[] result = list.stream().mapToInt(Integer::intValue).toArray();
- 使用双重循环:遍历数组,对每一个元素,再遍历其后的元素,如果找到相同的元素则跳过,否则添加到新数组中。
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);
以上是三种常见的数组去重方法,根据实际情况选择适合的方法即可。