Sobes.tech
Junior — Middle

Quelle option de stockage des éléments est préférée pour une traversal rapide : ArrayList ou LinkedList?

sobes.tech IA

Réponse de l'IA

Pour parcourir rapidement les éléments, il est préférable d'utiliser ArrayList.

ArrayList stocke les éléments dans un tableau contigu, ce qui permet une itération séquentielle rapide grâce à une bonne localité des données et à la mise en cache. En revanche, LinkedList est composée de nœuds liés par des références, et lors de l'itération, on suit les pointeurs, ce qui est plus lent en raison des fréquents sauts en mémoire et de l'absence de localité.

Exemple :

List<Integer> list = new ArrayList<>();
for (int i = 0; i < 1000; i++) {
    list.add(i);
}

for (Integer num : list) {
    System.out.println(num);
}

Une telle itération sera plus efficace que l'équivalent pour LinkedList.