可以使用HashSet来实现数组去重,同时不改变原数组的位置。具体步骤如下:
遍历原数组,将元素逐个添加到HashSet中,HashSet会自动去重元素。
创建一个新的数组,长度为HashSet的大小。
遍历HashSet,将元素依次添加到新数组中。
返回新数组作为结果。
以下是一个示例代码:
import java.util.HashSet;
public class ArrayDuplicateRemoval {
public static void main(String[] args) {
int[] array = {1, 2, 3, 2, 1, 5, 6, 5};
int[] result = removeDuplicates(array);
// 输出去重后的数组
for (int i = 0; i < result.length; i++) {
System.out.print(result[i] + " ");
}
}
public static int[] removeDuplicates(int[] array) {
HashSet<Integer> set = new HashSet<>();
// 遍历原数组,将元素逐个添加到HashSet中
for (int i = 0; i < array.length; i++) {
set.add(array[i]);
}
// 创建一个新的数组,长度为HashSet的大小
int[] result = new int[set.size()];
int index = 0;
// 遍历HashSet,将元素依次添加到新数组中
for (int num : set) {
result[index++] = num;
}
return result;
}
}
输出结果:
1 2 3 5 6