J'essaie de comprendre pourquoi le ArrayDeque de Java est meilleur que le LinkedList de Java car ils implémentent tous deux l'interface Deque.
Je vois rarement quelqu'un utiliser ArrayDeque dans son code. Si quelqu'un m'éclaire sur la façon dont ArrayDeque est implémenté, ce serait utile.
Si je le comprends, je serai plus confiant en l'utilisant. Je n'ai pas pu comprendre clairement l'implémentation du JDK quant à la manière dont il gère les références tête et queue.
5 votes
Regardez la réponse à cette question que j'ai posée il y a quelques jours : stackoverflow.com/questions/6129805/
1 votes
Dans le dossier, où vous avez installé votre jdk, il y a un fichier
src.zip
. Il s'agit d'une archive contenant le code source des classes java. Je recommande fortement d'étudier la structure et les internes de ces classes pour mieux comprendre le fonctionnement des classes java.0 votes
Encore un point. La taille par défaut de ArrayDeque est de 16. ArrayDeque double sa taille lorsqu'il est plein. Les éléments sont copiés dans le nouveau tableau après que la taille ait doublé. Il est préférable d'initialiser ArrayDeque avec une taille initiale.
0 votes
Un autre point qui mérite d'être mentionné est que sur LinkedList vous pouvez utiliser des index pour itérer à travers ses éléments alors que ArrayDeque ne supporte pas l'accès basé sur les index.