Ici, je vais poster mon code:Java LinkedList Iterators: Pourquoi ne retournent-ils que des objets?
int len = InternalList.size();
ListIterator<E> forward = InternalList.listIterator(0);
ListIterator<E> backward = InternalList.listIterator(len);
while(forward.hasNext() && backward.hasPrevious())
{
E next = forward.next();
E prev = backward.previous();
// When the object references are the same, we expect to be at the
// center of the list (for odd-numbered lists?); we're done
if(next == prev)
return true;
// Otherwise, if the object values aren't the same, we're not a
// palindrome
if(!((E)next).equals(prev))
return false;
}
Et voici la liste interne:
private LinkedList<E> InternalList;
Donc, fondamentalement, mon problème est la dernière instruction if vérifie que la méthode des égaux de l'objet(); pas les E sont égaux(). Si le lancer de force ne fonctionne pas, que fait-il?
Et oui, je sais que je pourrais optimiser ce pour les listes paires.: P – Hamster
Ce n'est pas une optimisation, c'est une solution, à moins de visiter les éléments deux fois est inoffensif ... –
Pourquoi ça ne serait pas? – Hamster