#java #interface #implementation #interface-implementation
Вопрос:
public int lastIndexOf(E e) {
// Left as an exercise
// TODO : Implement this method
Node<E> current = tail;
не уверен, как завершить этот цикл для:
for (int i = size - 1; i >= 0; i--) {
if(e.equals(current))
return i;
}
return -1;
}
Эта программа просит меня создать метод lastIndexOf для моего собственного интерфейса LinkedList. Предполагается, что lastIndexOf(E e) возвращает индекс, в котором e
найден элемент. Это не то же самое, что indexOf(E e)
потому, что алгоритм требует, чтобы я смотрел с конца списка, а не с начала
Ответ №1:
Обратная итерация для цикла выглядит нормально. Однако вы сравниваете не то, что нужно.
Вы можете получить текущий элемент с this.get(index)
помощью .
public int lastIndexOf(E e) {
for (int i = size - 1; i >= 0; i--) {
E element = get(i);
if (e == null amp;amp; element == null) return i;
if (e != null amp;amp; e.equals(element)) return i;
}
return -1;
}