Я работал над заданием, которое позволяет пользователю вводить объекты в LinkedList, а также удалять их.У меня есть все области моей программы, кроме этой надоедливой части ... удаление дубликатов.Я был в этом в течение некоторого времени, и надеялся, что кто-то может указать мне правильное направление.
Код, который я имею ниже почти , работает ... так же, как и в нем, удаляет дубликаты ... но только первого элемента, с которым он сталкивается.Итак, как я могу позволить программе просмотреть первый элемент, удалить его дубликаты, а затем вернуться и сделать то же самое для всех других элементов в списке?Должен ли я использовать узлы, такие как «предыдущий» и «текущий», а не то, к чему я здесь прихожу, и пытаться пройти таким образом 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