Go to content

ArrayList et LinkedList sont dans un bateau (José Paumard)

Doit-on déprécier LinkedList ? Cette question qui a animé Twitter pendant quelques jours ressemblerait à une polémique de plus si elle n'était pas posée par Stuart Marks, expert du sujet, qui travaille (entre autres) sur les évolutions de l'API Collection. On se rend compte que la réponse complète est complexe, touche à l'algorithmique, la gestion de la mémoire, le fonctionnement interne des CPU et notamment de leur système de cache. C'est l'objet de cette présentation : expliquer comment on peut prendre en compte tous ces points pour utiliser les structures de données les plus performantes possibles. On balaiera plusieurs questions autour de ce sujet, des méthodes par défaut de l'API Collection, de quelques implémentations alternatives, et de ce qui est en préparation pour Java 9 dans ce domaine. On parlera chasse aux pointeurs, structure des processeurs, performance des algorithmes, mais aussi structures des listes et des tables de hachage, comportement des algorithmes sur ces structures. La présentation est en Java 8, et nous parlerons un peu de ce qui nous attend dans le domaine des collections pour Java 9 et au-delà.

April 20, 2016