我的刪除重複數字的方法有效,但如果數字出現兩次以上,則不能。 例如用數字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'這樣的類,並且像這樣引用它。只有你可能添加的是一個私有的構造函數,所以它不能被實例化。 –