링크 된 목록에 추가 된 항목과 항목을 삭제하는 아래의 방법으로 읽는 프로그램이 있습니다. 현재이 방법은 목록을 통과 한 것으로 보이며 선택한 항목을 찾으면 뿐만 아니라 개별 항목 대신 앞에있는 모든 항목을 삭제합니다. 휴식을 제거; 메서드는 목록의 모든 항목을 제거합니다.자바 - 반복자를 사용하여 연결된 목록에서 요소 제거
LinkedList<Entry> entryList = new LinkedList<Entry>();
ListIterator<Entry> entryIterator = entryList.listIterator();
public void deleteEntry(int number) {
while(entryIterator.hasNext()) {
Entry entry = entryIterator.next();
if((entry.getNumber() == number)) {
entryIterator.remove();
//break;
}
}
}
나는 그 문제가 다른 곳에서 발생했다는 느낌이 들지만 알아낼 수는 없다. 나는 자바가 처음이다. 감사!
entry.getNumber() == number
항상 TRUE처럼
나에게 잘 어울립니다. – MightyPork
문제는 아마도 다른 곳에서 발생했을 것입니다. 'number'는 아마도'Entry'의 정적 멤버일까요? – Keppil
여분의 항목이 전혀 제거되지 않는다고 생각합니다. 원래 목록을 검사하는 대신 반복자를 검사하여 자신이 속한다고 생각하도록 속이고 있다고 생각합니다. –