【发布时间】:2020-11-02 06:01:55
【问题描述】:
给定和 int 数组; int[] arr = {1, 2, 5, 8, 9, 10, 20, 80, 9, 0, 100, 90, 30, 55, 22, 87, 88, 22, 33, 22, 1, 2, 3};
要求: 要求是:有一个数组,没有排序和重复。创建了一个可以接受 int[] 的方法,并在对重复项进行排序和删除后,将其作为 int[] 返回...
我的处理方案是:
static void removingDups4(int[] arr) {
LinkedHashSet<Integer> setDups = new LinkedHashSet(Arrays.asList(arr));
for (int each : arr) {
setDups.add(each);
}
System.out.println(setDups);
int[] newArr = new int[setDups.size()];
int i = 0;
while (i < setDups.size()) {
for (int each : setDups) {
newArr[i] += each;
i++;
}
System.out.println(newArr);
}
}
输出:
[[I@77459877, 0, 1, 2, 3, 5, 8, 9, 10, 20, 22, 30, 33, 55, 80, 87, 88, 90, 100] Exception in thread "main" java.lang.ClassCastException: class [I cannot be cast to class java.lang.Integer ([I and java.lang.Integer are in module java.base of loader 'bootstrap') at SearchingAnElementFromArray_BinarySearch.removingDups4(SearchingAnElementFromArray_BinarySearch.java:86) at Array.SearchingAnElementFromArray_BinarySearch.main(SearchingAnElementFromArray_BinarySearch.java:12)
Process finished with exit code 1
【问题讨论】:
-
这能回答你的问题吗? Java Array Sort descending?
标签: java arrays linkedhashset