java数组去重
时间: 2023-06-21 21:09:36 浏览: 112
可以使用Java中的Set集合实现数组去重,也可以使用双重循环遍历数组进行去重。以下是使用Set集合实现数组去重的示例代码:
```java
import java.util.*;
public class ArrayDistinct {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 2, 3, 5, 6};
Set<Integer> set = new HashSet<>();
for(int i: arr) {
set.add(i);
}
int[] result = new int[set.size()];
int index = 0;
for(int i: set) {
result[index++] = i;
}
System.out.println(Arrays.toString(result));
}
}
```
输出结果为:[1, 2, 3, 4, 5, 6]
相关问题
java 数组去重
在Java中,可以使用多种方法对数组进行去重操作。以下是几种常见的方法:
1. 使用Set集合:将数组元素添加到Set集合中,由于Set集合的特性不允许有重复元素,最后再将Set集合转换回数组。
示例代码如下:
```java
import java.util.HashSet;
import java.util.Set;
public class ArrayDuplicateRemoval {
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 i = 0;
for (int num : set) {
result[i++] = num;
}
return result;
}
public static void main(String[] args) {
int[] arr = {1, 2, 3, 3, 4, 4, 5};
int[] result = removeDuplicates(arr);
for (int num : result) {
System.out.print(num + " ");
}
}
}
```
输出结果:1 2 3 4 5
2. 使用List集合:将数组元素添加到List集合中,然后利用List集合的contains方法判断是否已存在该元素,最后再将List集合转换回数组。
示例代码如下:
```java
import java.util.ArrayList;
import java.util.List;
public class ArrayDuplicateRemoval {
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;
}
public static void main(String[] args) {
int[] arr = {1, 2, 3, 3, 4, 4, 5};
int[] result = removeDuplicates(arr);
for (int num : result) {
System.out.print(num + " ");
}
}
}
```
输出结果:1 2 3 4 5
3. 使用双重循环:遍历数组,将每个元素与后面的元素进行比较,如果相同则跳过,不同则将其添加到新数组中。
示例代码如下:
```java
public class ArrayDuplicateRemoval {
public static int[] removeDuplicates(int[] arr) {
int len = arr.length;
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
if (arr[i] == arr[j]) {
arr[j] = arr[len - 1];
len--;
j--;
}
}
}
int[] result = new int[len];
System.arraycopy(arr,0, result, 0, len);
return result;
}
public static void main(String[] args) {
int[] arr = {1, 2, 3, 3, 4, 4, 5};
int[] result = removeDuplicates(arr);
for (int num : result) {
System.out.print(num + " ");
}
}
}
```
输出结果:1 2 3 4 5
java数组去重排序
可以使用Java中的Set集合来去重,再将Set转换为数组进行排序。
示例代码如下:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 3, 4, 5, 5, 6};
Set<Integer> set = new HashSet<>();
for (int num : arr) {
set.add(num);
}
Integer[] newArr = set.toArray(new Integer[0]);
Arrays.sort(newArr);
System.out.println(Arrays.toString(newArr));
}
}
```
阅读全文