java - 如何通过返回数组来打印数组中的唯一元素?

标签 java arrays

我有以下代码片段,想要打印数组 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/

相关文章:

java - 覆盖标准的 Spring Data REST API

java - 正则表达式从字符串中捕获 float (并替换为捕获的 float )

java - 如何解释命令 "od -b file"的结果

arrays - 如何在调用 Array#compact 时删除自定义类

java - Java 中未打印数组

java - 将数组传递给方法

java - 无需解析器工具即可解析 XML 字符串

c++ - 如何在类中使用数组变量? C++

javascript - 有没有一种简单的方法可以使嵌套数组变平?

javascript - JS : Remove Element from an Array based on RegExp