Java数组去除重复元素的方法探讨
在Java编程中,数组是一种非常基础且常用的数据结构,在实际应用中,我们经常会遇到数组中存在重复元素的情况,去除数组中的重复元素是数据处理中的一个常见需求,本文将探讨几种在Java中去除数组重复元素的方法。

使用HashSet去除重复元素
HashSet是Java中一个非常重要的集合类,它基于哈希表实现,具有快速查找和插入的特性,利用HashSet去除数组重复元素的方法如下:
- 创建一个新的HashSet集合。
- 遍历原数组,将每个元素添加到HashSet中。
- 将HashSet转换回数组。
以下是具体的代码实现:
import java.util.HashSet;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Integer[] array = {1, 2, 3, 4, 5, 3, 2, 1};
Integer[] newArray = removeDuplicates(array);
System.out.println(Arrays.toString(newArray));
}
public static Integer[] removeDuplicates(Integer[] array) {
HashSet<Integer> set = new HashSet<>();
for (Integer num : array) {
set.add(num);
}
return set.toArray(new Integer[0]);
}
}
使用Arrays.sort()和循环去除重复元素
对于基本数据类型的数组,我们可以使用Arrays.sort()方法对数组进行排序,然后通过循环去除重复元素,这种方法适用于基本数据类型数组,如int、double等。

- 使用Arrays.sort()对数组进行排序。
- 遍历排序后的数组,比较相邻元素是否相等,若相等则删除重复元素。
以下是具体的代码实现:
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Integer[] array = {1, 2, 3, 4, 5, 3, 2, 1};
Integer[] newArray = removeDuplicates(array);
System.out.println(Arrays.toString(newArray));
}
public static Integer[] removeDuplicates(Integer[] array) {
Arrays.sort(array);
Integer[] newArray = new Integer[array.length];
int j = 0;
for (int i = 0; i < array.length - 1; i++) {
if (array[i] != array[i + 1]) {
newArray[j++] = array[i];
}
}
newArray[j++] = array[array.length - 1];
return Arrays.copyOf(newArray, j);
}
}
使用LinkedHashSet去除重复元素
LinkedHashSet是HashSet的一个子类,它不仅具有HashSet的特性,还保持了元素的插入顺序,利用LinkedHashSet去除数组重复元素的方法如下:
- 创建一个新的LinkedHashSet集合。
- 遍历原数组,将每个元素添加到LinkedHashSet中。
- 将LinkedHashSet转换回数组。
以下是具体的代码实现:

import java.util.LinkedHashSet;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Integer[] array = {1, 2, 3, 4, 5, 3, 2, 1};
Integer[] newArray = removeDuplicates(array);
System.out.println(Arrays.toString(newArray));
}
public static Integer[] removeDuplicates(Integer[] array) {
LinkedHashSet<Integer> set = new LinkedHashSet<>();
for (Integer num : array) {
set.add(num);
}
return set.toArray(new Integer[0]);
}
}
本文介绍了三种在Java中去除数组重复元素的方法,包括使用HashSet、使用Arrays.sort()和循环以及使用LinkedHashSet,在实际应用中,我们可以根据数组类型和需求选择合适的方法,希望本文对您有所帮助。



















