Java中去除数组中重复项
时间: 2024-11-27 19:21:46 浏览: 56
在Java中,可以使用多种方法去除数组中的重复元素。这里介绍一种常见的做法,即使用HashSet。HashSet是一个不允许有重复元素的集合,我们可以将数组转换为HashSet,然后再将HashSet转换回数组,这样就去除了重复项。
```java
import java.util.*;
public int[] removeDuplicates(int[] array) {
// 创建一个新的HashSet
HashSet<Integer> set = new HashSet<>(Arrays.asList(array));
// 转换回整数数组,并计算长度
int[] result = new int[set.size()];
int index = 0;
for (int num : set) {
result[index++] = num;
}
return result;
}
```
在这个例子中,`Arrays.asList(array)`将原始数组转换为ArrayList,然后传递给HashSet构造函数,这样HashSet会自动过滤掉重复的元素。最后,我们再次创建一个新的数组并将HashSet中的元素复制回去。
相关问题
用java写去除数组中的重复元素
可以使用Java中的Set集合来去除数组中的重复元素,具体代码如下:
```java
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class RemoveDuplicate {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 2, 4, 1};
int[] res = removeDuplicate(arr);
System.out.println(Arrays.toString(res));
}
public static int[] removeDuplicate(int[] arr) {
Set<Integer> set = new HashSet<>();
for (int i : arr) {
set.add(i);
}
int[] res = new int[set.size()];
int index = 0;
for (int i : set) {
res[index++] = i;
}
return res;
}
}
```
这段代码中,我们先利用HashSet集合去除数组中的重复元素,然后再将集合转换为数组返回即可。
java中去除数组中重复的数
在Java中,要去除数组中的重复元素,可以使用HashSet或者TreeSet数据结构,因为它们不允许有重复元素。以下是两种常见方法:
1. 使用HashSet:
```java
import java.util.Arrays;
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 2, 3, 4, 4, 5};
HashSet<Integer> set = new HashSet<>(Arrays.asList(array));
array = set.toArray(new Integer[set.size()]);
System.out.println(Arrays.toString(array)); // 输出 [1, 2, 3, 4, 5]
}
}
```
这里首先将数组转换为List,然后传入HashSet,最后再转换回数组。
2. 使用TreeSet(保证了排序,如果需要保持原有的顺序,则需先复制原数组并排序后再去除重复):
```java
import java.util.Arrays;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 2, 3, 4, 4, 5};
TreeSet<Integer> treeSet = new TreeSet<>();
for (int num : array) {
treeSet.add(num);
}
array = treeSet.toArray();
System.out.println(Arrays.toString(array)); // 输出 [1, 2, 3, 4, 5]
}
}
```
在这两个例子中,`System.out.println(Arrays.toString(array))`会打印出去重后的数组。
阅读全文
相关推荐















