这是我目前尝试从包含整数的数组中删除重复项,但这并没有给我任何结果。它只是打印出来。任何帮助将不胜感激。
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] + " ");}
}
答案 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),因此可以避免重复