Как переопределить метод удаления() в java.util.Iterator ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Как переопределить метод удаления() в java.util.Iterator

Сообщение Anonymous »

Мне предоставлен интерфейс List.java, который определяет List ADT и содержит методы, которые должен реализовать класс, который я пишу (LinkedList.java). Один из методов — это remove().
В List.java пишет:

Код: Выделить всё

/**
* Removes the head (first element) from the list and returns it.
* @return the removed element from the head of the list, null if the list is empty
*/
E remove();
Я также написал класс Node.java, который представляет отдельный узел в LinkedList с двумя переменными экземпляра, data и next (с методами получения и установки).
В моем классе LinkedList есть две переменные экземпляра: размер int (количество узлов в LinkedList) и заголовок узла (ссылка на головной узел в LinkedList). На данный момент для переопределения метода удаления() у меня есть:

Код: Выделить всё

public E remove() {
if (head == null) {
return null;
} else {
Node current = head;
Node previous = null;
while (current.getNext() != null) {
previous = current;
current = current.getNext();
}
Node previousNext = previous.getNext();
E currentData = current.getData();
previousNext = null;
size--;
return currentData;
}
}
Я постоянно получаю сообщение об ошибке:
Ошибка: тип возвращаемого значения несовместим с java.util.Iterator.remove().
Я очень плохо разбираюсь в этом модуле и могу воспользоваться любой помощью, которую могу получить.
*Изменить: импортируется java.util.Iterator

Подробнее здесь: https://stackoverflow.com/questions/730 ... l-iterator

Вернуться в «JAVA»