我需要编写一个独特的java方法,它接受任意整数数组并返回具有相同整数但不重复的数组。我是否必须在唯一方法内创建数组?我是否还必须声明 arr1、arr2 和 arr3?
public static int[] unique(){
int [] arr1;
int [] arr2;
int [] arr3;
for(int i= 0; i < arr1.length; i++) {
}
}
public static void main(String[] args) {
int[] arr1 = {34, 34, 10, 50, 56, 34, 67, 34};
int[] arr2 = {23, 100, 5, 56, 67, 10, 10, 10, 34, 67};
int[] arr3 = {25, 25, 25, 25};
System.out.println(Arrays.toString(unique(arr1)));
1
System.out.println(unique(arr1).length);
System.out.println(Arrays.toString(unique(arr2)));
System.out.println(unique(arr2).length);
System.out.println(Arrays.toString(unique(arr3)));
System.out.println(unique(arr3).length);
}
}
<小时/>最佳答案
首先,将所有值放入 Set<Integer>
,默认情况下不允许重复值,然后添加 Set<Integer>
中的所有值到int[]
并返回。
public static int[] unique(int[] values) {
Set<Integer> uniqueValuesSet = new HashSet<>();
for(Integer value : values) {
uniqueValuesSet.add(value);
}
int i = 0;
int[] uniqueValuesArray = new int[uniqueValuesSet.size()];
for(Integer value : uniqueValuesSet) {
uniqueValuesArray[i++] = value;
}
return uniqueValuesArray;
}
关于java - 如何获取任意整数数组并返回具有相同整数但不重复的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55885956/