有三种方法去除 Java 数组中重复元素:1)使用 Set 存储唯一元素并将其转换为数组;2)对数组进行排序并使用双指针跳过重复元素;3)使用 HashMap 记录元素出现次数并保留仅出现一次的元素。

如何去除 Java 数组中的重复元素
方法 1:使用 Set
Set 是一个不允许重复元素的集合。我们可以使用 HashSet 来去除数组中的重复元素:
<code class="java">public int[] removeDuplicates(int[] arr) {
Set<Integer> set = new HashSet<>();
for (int i = 0; i < arr.length; i++) {
set.add(arr[i]);
}
int[] result = new int[set.size()];
int index = 0;
for (int num : set) {
result[index++] = num;
}
return result;
}</code>方法 2:使用排序和双指针
立即学习“Java免费学习笔记(深入)”;
对数组进行排序后,重复元素会相邻。我们可以使用双指针来遍历数组,跳过重复元素:
<code class="java">public int[] removeDuplicates(int[] arr) {
if (arr.length == 0) {
return arr;
}
Arrays.sort(arr);
int i = 0, j = 1;
while (j < arr.length) {
if (arr[i] != arr[j]) {
arr[++i] = arr[j];
}
j++;
}
return Arrays.copyOf(arr, i + 1);
}</code>方法 3:使用 HashMap
HashMap 是一个键值对集合。我们可以使用 HashMap 来记录数组中每个元素出现的次数,然后只保留出现一次的元素:
<code class="java">public int[] removeDuplicates(int[] arr) {
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < arr.length; i++) {
if (!map.containsKey(arr[i])) {
map.put(arr[i], 0);
}
map.put(arr[i], map.get(arr[i]) + 1);
}
int[] result = new int[map.size()];
int index = 0;
for (int num : map.keySet()) {
result[index++] = num;
}
return result;
}</code>以上就是java数组怎么去掉重复的的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号