Un ArrayList ou une LinkedList est-il préférable pour le tri?
je veux utiliser une structure de données qui doit être triée chaque maintenant et encore. La taille de la structure des données ne dépassera guère 1 000 éléments.
Lequel est le mieux - ArrayList
ou LinkedList
?
algorithme de tri est préférable d'utiliser?
5 réponses
Jusqu'à Java 7, il ne fait aucune différence parce que Collections.sort
vider le contenu de la liste dans un tableau.
avec Java 8, en utilisant un ArrayList
devrait être légèrement plus rapide parce que Collections.sort
appel List.sort
et ArrayList
a une version spécialisée qui trie le tableau de soutien directement, enregistrant une copie.
Donc la ligne en bas est ArrayList
est meilleur car il donne une performance similaire ou meilleure selon la version de Java.
si vous allez utiliser java.util.Collections.sort(List)
ensuite, il n'a vraiment pas d'importance.
Si le la liste sera mise dans un tableau pour les besoins de tri de toute façon. List
n'implémente pas RandomAccess
, alors il sera exportée vers un List
(merci de me garder honnête Ralph. Regarde comme j'ai confondu les implémentations de tri et aléatoire. Ils sont assez près de la même chose non?)
si vous pouvez utiliser la bibliothèque Apache, alors regardez liste arborescente. Il aborde votre problème correctement.