Java使用循环从数组中删除重复项

时间:2014-11-18 15:41:33

标签: java arrays

这是我目前尝试从包含整数的数组中删除重复项,但这并没有给我任何结果。它只是打印出来。任何帮助将不胜感激。

    public static void duplicate(int numbers[], int size)
    {
      for (int i = 0; i < size; i++){
        boolean duplicate = false;
        int b = 0;
        while (b < i){
          if (numbers[i] == numbers[b])
             duplicate = true;
          b++;}
        if (duplicate = false)
          System.out.print(numbers[i] + " ");}
    } 

3 个答案:

答案 0 :(得分:1)

试试这个:

public static void duplicate(int numbers[], int size)
{
  for (int i = 0; i < size; i++){
    boolean duplicate = false;
    int b = 0;
    while (b < i){
      if (numbers[i] == numbers[b])
         duplicate = true;
      b++;}
    if (duplicate == false)
      System.out.print(numbers[i] + " ");}
} 

您需要在if语句中使用==而不是=

答案 1 :(得分:0)

您还可以使用HashSet or LinkedHashSet to Preserve the ordering

public void removeDupInIntArray(int[] ints){
    Set<Integer> setString = new LinkedHashSet<Integer>();
    for(int i=0;i<ints.length;i++){
        setString.add(ints[i]);
    }
    System.out.println(setString);
}

答案 2 :(得分:0)

最好的选择是使用集合(Hash Linkedhash),因此可以避免重复