从 Java 数组中去除重复值的方法有:1. 使用 Set 转换;2. 使用 Map 转换;3. 使用 Collections.sort() 排序并跳过重复元素。

如何在 Java 中从数组中去除重复值
去除数组中重复元素的方法有多种。本文将介绍三种常用的方法:
1. 使用 Set
Set 是 Java 中一个无序集合,它不允许重复元素。我们可以将数组元素添加到 Set 中,然后将 Set 转换回数组。
立即学习“Java免费学习笔记(深入)”;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 1, 2, 3};
Set set = new HashSet<>(Arrays.asList(arr));
int[] newArr = set.stream().mapToInt(i -> i).toArray();
System.out.println(Arrays.toString(newArr));
}
} 2. 使用 Map
Map 是一个键值对集合,其中键是唯一的。我们可以将数组元素作为键添加到 Map 中,然后将 Map 的键转换为数组。
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 1, 2, 3};
Map map = new HashMap<>();
for (int i : arr) {
map.put(i, i);
}
int[] newArr = map.keySet().stream().mapToInt(i -> i).toArray();
System.out.println(Arrays.toString(newArr));
}
} 3. 使用 Collections.sort()
Collections.sort() 方法可以对数组进行排序。排序后,重复元素将相邻排列。我们可以遍历排序后的数组,跳过重复元素。
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 1, 2, 3};
Arrays.sort(arr);
int[] newArr = new int[arr.length];
int j = 0;
for (int i = 0; i < arr.length; i++) {
if (i == 0 || arr[i] != arr[i - 1]) {
newArr[j++] = arr[i];
}
}
System.out.println(Arrays.toString(newArr));
}
}











