从 Java 数组中去除重复数据的方法包括:HashSet:将数组元素添加到 HashSet 中,HashSet 仅包含唯一元素。LinkedHashSet:将数组元素添加到 LinkedHashSet 中,LinkedHashSet 保留元素插入顺序。Arrays.stream():使用 Arrays.stream() 和 distinct() 方法去除重复数据。排序和循环:对数组排序并循环遍历跳过重复元素。
如何从 Java 数组中去除重复数据
在 Java 中,您可以使用多种方法从数组中去除重复数据。以下是最常用的方法:
HashSet
HashSet 是 Java 集合框架中的一种集合类型,它只能包含不重复的元素。您可以使用以下步骤使用 HashSet 来去除数组中的重复数据:
将数组元素添加到 HashSet 中:
Setset = new HashSet<>(); for (int num : array) { set.add(num); }
将 HashSet 转换为数组:
int[] uniqueArray = new int[set.size()];
int index = 0;
for (int num : set) {
uniqueArray[index++] = num;
}LinkedHashSet
LinkedHashSet 是 HashSet 的一个子类,它保留元素插入的顺序。您可以使用以下步骤使用 LinkedHashSet 来去除数组中的重复数据:
将数组元素添加到 LinkedHashSet 中:
Setset = new LinkedHashSet<>(); for (int num : array) { set.add(num); }
将 LinkedHashSet 转换为数组:
int[] uniqueArray = new int[set.size()];
int index = 0;
for (int num : set) {
uniqueArray[index++] = num;
}Arrays.stream()
Java 8 及更高版本的 Java 中,您可以使用 Arrays.stream() 和 distinct() 方法来去除数组中的重复数据:
int[] uniqueArray = Arrays.stream(array).distinct().toArray();
排序和循环
如果数组中的元素是可比的,您可以使用排序和循环来去除重复数据:
对数组进行排序:
Arrays.sort(array);
遍历数组并跳过重复元素:
int[] uniqueArray = new int[array.length];
int uniqueIndex = 0;
for (int i = 1; i < array.length; i++) {
if (array[i] != array[i - 1]) {
uniqueArray[uniqueIndex++] = array[i];
}
}调整 uniqueArray 的大小以匹配唯一元素的数量:
uniqueArray = Arrays.copyOf(uniqueArray, uniqueIndex);