Java函数:如何进行数组去重?
发布时间:2023-07-09 21:13:23
在Java中,有多种方法可以对数组进行去重。下面我将介绍三种常用的方法。
1. 使用Set集合:将数组元素添加到Set集合中,由于Set集合不能包含重复元素,最后将Set集合转换为数组即可。示例代码如下:
public static int[] removeDuplicates(int[] arr) {
Set<Integer> set = new HashSet<>();
for (int num : arr) {
set.add(num);
}
int[] result = new int[set.size()];
int index = 0;
for (int num : set) {
result[index++] = num;
}
return result;
}
2. 使用ArrayList:创建一个ArrayList对象,遍历数组,将不重复的元素添加到ArrayList中,最后将ArrayList转换为数组。示例代码如下:
public static int[] removeDuplicates(int[] arr) {
List<Integer> list = new ArrayList<>();
for (int num : arr) {
if (!list.contains(num)) {
list.add(num);
}
}
int[] result = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
result[i] = list.get(i);
}
return result;
}
3. 使用双重循环:遍历数组,比较当前元素与之前的元素是否相等,如果相等则跳过,否则将当前元素添加到结果数组中。示例代码如下:
public static int[] removeDuplicates(int[] arr) {
int[] result = new int[arr.length];
int index = 0;
for (int i = 0; i < arr.length; i++) {
boolean isDuplicate = false;
for (int j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
isDuplicate = true;
break;
}
}
if (!isDuplicate) {
result[index++] = arr[i];
}
}
return Arrays.copyOf(result, index);
}
以上是三种常用的方法对Java数组进行去重的实现。在实际应用中,可以根据具体情况选择最适合的方法。
