나는 사용자가 LinkedList에 Object를 입력하고 제거 할 수있는 작업을 수행하고 있습니다. 나는이 성가신 부분을 제외하고는 내 프로그램의 모든 영역을 알아 냈다 ... 중복을 제거하라. 나는 지금 당분간이 일을 해왔고, 누군가가 나를 올바른 방향으로 인도 할 수 있기를 바랬다.Java의 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
확실히 잘 작동합니다! 나는 내가 사용하려고했던 것보다 훨씬 쉽습니다. 도움을 주셔서 감사합니다.] – Dreiak