1.编写一个方法,接受一个整数数组作为参数,使用 HashSet 去除数组中的重复元素,并返回去重后的数组。
时间: 2024-12-29 15:35:46 浏览: 13
在Java中,你可以通过创建一个HashSet来轻松地删除整数数组中的重复元素,因为HashSet不允许有重复的元素。以下是一个简单的示例方法:
```java
import java.util.Arrays;
import java.util.HashSet;
public class UniqueArray {
public int[] removeDuplicates(int[] nums) {
// 创建一个新的HashSet,用于存储独特的元素
HashSet<Integer> uniqueSet = new HashSet<>(Arrays.asList(nums));
// 将HashSet转换回数组
int[] result = new int[uniqueSet.size()];
int index = 0;
for (Integer num : uniqueSet) {
result[index++] = num;
}
return result;
}
}
```
这个`removeDuplicates`方法首先将输入数组转换为列表,然后传给HashSet。由于HashSet的特性,重复的元素会被自动排除。最后,我们再把HashSet的内容复制到新数组中并返回。
相关问题
3.4 (消除重复)编写一个方法,通过使用以下方法头消除数组中的重复值来返回一个新数组: public static int[] eliminateDuplicates(int[] list) 编写一个读取十个整数的测试程序,调用该方法并显示结果。这是程序的示例运行:
为了消除数组中的重复元素,我们可以使用HashSet数据结构,因为它的特性就是不允许有重复的元素。以下是`eliminateDuplicates`方法的实现以及一个简单的测试程序:
```java
import java.util.Arrays;
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入十个整数:");
// 从用户输入获取十个整数
int[] inputList = new int[10];
for (int i = 0; i < 10; i++) {
inputList[i] = scanner.nextInt();
}
// 调用eliminateDuplicates方法去重
int[] uniqueList = eliminateDuplicates(inputList);
// 打印去重后的列表
System.out.println("去重后的数组为:");
for (int num : uniqueList) {
System.out.print(num + " ");
}
}
/**
* 使用HashSet去重并返回一个新的整数数组
* @param list 需要去重的原始整数数组
* @return 去除重复元素的新数组
*/
public static int[] eliminateDuplicates(int[] list) {
HashSet<Integer> set = new HashSet<>();
for (int num : list) {
set.add(num);
}
// 将集合转换回数组
int[] uniqueArray = new int[set.size()];
int index = 0;
for (Integer num : set) {
uniqueArray[index++] = num;
}
return uniqueArray;
}
}
```
当运行这个程序,它会提示用户输入十个整数,然后移除重复项并打印出新的无重复数组。
阅读全文