Java数组去除重复元素有三种主要方法:1. 使用HashSet消除重复元素并转换为数组;2. 使用ArrayList存储不重复元素并转换为数组;3. 使用Arrays.stream().distinct()直接返回去重流并转换为数组。

Java数组去除重复元素的方法
为了去除Java数组中的重复元素,可以使用以下方法:
1. 使用HashSet
- 使用
Set接口,创建哈希集(HashSet)。 - 遍历数组,将每个元素添加到哈希集中。
- 哈希集会自动删除重复元素。
- 将哈希集转换为数组。
代码示例:
立即学习“Java免费学习笔记(深入)”;
import java.util.Arrays;
import java.util.HashSet;
public class RemoveDuplicates {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 1, 2, 3};
// 使用HashSet去除重复元素
HashSet set = new HashSet<>();
for (int i : arr) {
set.add(i);
}
// 将哈希集转换为数组
int[] newArr = new int[set.size()];
int index = 0;
for (int num : set) {
newArr[index++] = num;
}
// 输出去重后的数组
System.out.println(Arrays.toString(newArr));
}
} 2. 使用ArrayList和 indexOf
- 创建一个ArrayList。
- 遍历数组,如果元素在ArrayList中找不到,则将其添加到ArrayList。
- 将ArrayList转换为数组。
代码示例:
立即学习“Java免费学习笔记(深入)”;
import java.util.ArrayList;
import java.util.Arrays;
public class RemoveDuplicates {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 1, 2, 3};
// 使用ArrayList去除重复元素
ArrayList list = new ArrayList<>();
for (int i : arr) {
if (!list.contains(i)) {
list.add(i);
}
}
// 将ArrayList转换为数组
int[] newArr = new int[list.size()];
for (int i = 0; i < newArr.length; i++) {
newArr[i] = list.get(i);
}
// 输出去重后的数组
System.out.println(Arrays.toString(newArr));
}
} 3. 使用Arrays.stream().distinct()
- Java 8及更高版本提供了
Arrays.stream().distinct()方法。 - 此方法返回一个去除重复元素的新流。
- 可以将流转换为数组。
代码示例:
立即学习“Java免费学习笔记(深入)”;
import java.util.Arrays;
import java.util.stream.Collectors;
public class RemoveDuplicates {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 1, 2, 3};
// 使用Arrays.stream().distinct()去除重复元素
int[] newArr = Arrays.stream(arr)
.distinct()
.toArray();
// 输出去重后的数组
System.out.println(Arrays.toString(newArr));
}
}











