消除数组Java中的重复数字

时间:2015-03-02 16:58:44

标签: java arrays numbers duplicates

我需要知道如何消除同一数组中的重复数字。我只知道创建数组,从用户那里获取数据并打印出来。以下显示了我的进展:

import java.util.Scanner;

public class DuplicateElimination {

    public static void main(String[] args) {

        Scanner scn = new Scanner(System.in);

        int [] x = new int [10];

        for (int i = 0; i < 10; i++){        
            System.out.println("Enter a number");

            x[i] = scn.nextInt();
        }
        for (int i = 0 ; i<10 ; i++)
            System.out.print(x[i] + " ");
    }
}

真正的陈述是

  

编写一个方法,通过消除中的重复值来返回一个新数组   数组使用以下方法标题:

public static int[] eliminateDuplicates(int[] list)
     

编写一个读取十个整数的测试程序,调用该方法并显示   结果

2 个答案:

答案 0 :(得分:3)

您可以使用java set数据结构来消除重复项。将每个元素添加到集合中。它将消除重复

Set<Integer> set=new HashSet<Integer>();
set.add(1);

答案 1 :(得分:0)

在声明之后:

x[i] = scn.nextInt();

您可以循环遍历数组:

boolean isNumberFound = false;
for (int j =0; j<i; j++) {
    if (lastNumberScanned == x[j]) {
         isNumberFound = true;
         break;
    }
}
if (!isNumberFound)
      x[i] = lastNumberScanned;

如果您不想坚持使用Arrays,那么我建议您使用Set数据结构,如:

Set<Integer> myset = new HashSet<>();
myset.add(scn.nextInt());