Мой метод удаления повторяющихся номеров работает, но не если число отображается более двух раз. , например. список с цифрами 1,2,2,3,4,5,6,7,7,7,8,9 при использовании метода дает список 1,2,3,4,5,6,7,7, 8,9Почему мой метод removeDuplicates удаляет только дублирующее целое число при первом его обнаружении?
import java.util.*;
public class final SortAndRemove{
private SortAndRemove(){
}
public static void selectionSort(List<Integer> a){
if(a == null)
return;
if (a.size() == 0 || a.size() == 1)
return;
int smallest;
int smallestIndex;
for (int curIndex = 0; curIndex < a.size(); curIndex++) {
smallest = a.get(curIndex);
smallestIndex = curIndex;
for (int i = curIndex + 1; i < a.size(); i++) {
if (smallest > a.get(i)) {
smallest = a.get(i);
smallestIndex = i;
}
}
if (smallestIndex == curIndex);
else {
int temp = a.get(curIndex);
a.set(curIndex, a.get(smallestIndex));
a.set(smallestIndex, temp);
}
}
}
public static void removeDuplicates(List<Integer> a){
if(a == null)
return;
if (a.size() == 0 || a.size() == 1)
return;
for(int curIndex = 0; curIndex <a.size(); curIndex++){
int num = a.get(curIndex);
for(int i = curIndex + 1; i < a.size(); i++){
if(num == a.get(i))
a.remove(i);
}
}
}
}
Насколько я знаю, класс Utility - это всего лишь куча полезных часто используемых/необходимых функций, которые могут быть использованы в любом приложении. Например, сортировка, дедупликация, выбор времени, классы контейнеров и т. Д. –
да, хорошо выглядит. Утилита класса в основном просто класс с кучей статических методов, которые вы используете часто и для многих разных вещей, которые могут или не могут быть связаны друг с другом. Как и статические члены System.String, можно рассматривать как класс полезности. Возможно, вы захотите объявить статический герметичный класс. –
Это действительно мнение основано на том, что в Java нет формального определения «класса полезности», о котором я знаю. Я лично написал такие классы, как ваш 'SortAndRemove' и ссылаюсь на него как таковой. Единственное, что вы можете добавить, это частный конструктор, поэтому он не может быть создан. –