我有以下代码片段,想要打印数组 a[]
的唯一元素
我想通过返回一个数组来打印 main 方法中的结果。
以下代码返回结果 - 10 20 21 34 0 56 65 0 76 67 45 55 0 99 23 0 0 0 12
谁能告诉我我哪里做错了?
public class uniqueElements {
static int[] newArr=null;
public static void main(String[] args){
int[] a=new int[] {10,20,21,34,21,56,65,65,76,67,45,55,10,99,23,67,99,34,12};
int[] b=uniqueElements(a);
for(int i:b){
System.out.print(i+" ");
}
}
private static int[] uniqueElements(int[] arr) {
newArr=new int[arr.length];
for(int i=0;i<arr.length;i++){
boolean isDistinct = false;
for(int j=0;j<i;j++){
if(arr[i] == arr[j]){
isDistinct = true;
break;
}
}
if(!isDistinct){
newArr[i]=arr[i];
}
}
return newArr;
}
}
最佳答案
如果您只需要唯一值,也可以使用 Set:
http://docs.oracle.com/javase/7/docs/api/java/util/Set.html
Set<Integer> b = new HashSet<Integer>(Arrays.asList(a));
但是如果你仍然想手动完成,你可以按照其他人所说的那样进行。
关于java - 如何通过返回数组来打印数组中的唯一元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28118064/