修改上述代码,不使用HashSet
时间: 2024-10-29 12:20:29 浏览: 12
java代码-使用集合ArrayList对字符串进行存储和管理。
如果你不想使用`HashSet`来去除数组中的重复元素,你可以考虑使用一个自定义的数据结构或算法,如使用HashMap存储每个元素及其索引,然后遍历数组并将非重复的元素添加到结果数组中。下面是修改后的代码:
```java
package step2;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int num = input.nextInt();
int[] a = new int[num];
for (int i = 0; i < a.length; i++) {
a[i] = input.nextInt();
}
int[] r = getSet(a);
for (int i = 0; i < r.length; i++) {
System.out.print(String.format("%d ", r[i]));
}
}
// 完善 getSet 方法,将数组转换为集合
public static int[] getSet(int[] a) {
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < a.length; i++) {
if (!map.containsKey(a[i])) {
map.put(a[i], i);
}
}
int[] result = new int[map.size()];
int index = 0;
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
result[index++] = entry.getKey(); // 添加非重复元素
}
return result;
}
// 如果不需要去重,getSet 方法可以直接简化为
// public static int[] getSet(int[] a) {
// return a;
// }
//
阅读全文