Était lu sur l'API de ListIterator
qui fournit beaucoup de fonctions pour naviguer/modifier une liste liée. Mais ma question est pourquoi avons-nous besoin d'un ListIterator
pour naviguer en avant et en arrière dans la liste si nous pouvons utiliser la méthode get()
pour indexer les éléments.Pourquoi avons-nous besoin d'un ListIterator?
-2
A
Répondre
1
Pour la même raison, vous avez besoin d'un Iterator
, plus son API supplémentaire. L'itérateur connaît le meilleur moyen d'avancer et de reculer sur la liste. Mieux vaut dans ce cas que vous. List.get(int index)
est O (N) sur une liste chaînée; poursuivre les liens est O (1).
L'accès aux éléments d'une liste chaînée par index est une opération 'O (n)'. À une estimation, 'ListIterator' résout probablement cela en étant conscient que vous effectuez une itération simple et que vous pouvez ainsi récupérer le prochain noeud' O (1) 'temps. – CollinD
@CollinD Merci pour la réponse. Je n'ai pas pensé à la complexité de calcul. Bien dit! – computer