我一直在處理一個賦值,該賦值允許用戶將對象輸入到LinkedList中,並將其刪除。除了這裏討厭的部分外,我已經計算出了我的程序的所有區域...刪除重複項。我已經有一段時間了,希望有人能指出我正確的方向。從Java中的LinkedList中刪除重複的元素
我下面的代碼差不多的作品...因爲它刪除了重複...但只有它遇到的第一個元素。那麼,我該如何讓程序查看第一個項目,刪除它的重複項目,然後返回併爲列表中的所有其他元素執行相同操作?我應該使用「previous」還是「current」這樣的節點,而不是我在這裏得到的結果,並試圖以這種方式遍歷LinkedList?我的教授暗示我需要兩個while循環,但我嘗試過的所有方法都無法正常工作。我應該把什麼作爲第二個參數,我假設,外部while循環?
任何幫助非常感謝,謝謝!
public void removeDuplicate() //searches the LinkedList for duplicate elements, and removes them
{
ListIterator iter = listIterator();
Object uniqueO = iter.next();
while (iter.hasNext())
{
String uniqueS = (String) uniqueO;
Object compareO = iter.next();
String compareS = (String) compareO;
int x = uniqueS.compareTo(compareS);
if (x == 0)
{
iter.remove();
}
}
} //end removeDuplicate
這絕對有效!我想我將不得不放棄使用Set,它比我想要做的要容易得多..感謝您的幫助=] – Dreiak