En théorie, est-il plus efficace de supprimer des éléments d'un ArrayList
ou d'un LinkedList
?Est-il plus efficace de supprimer des éléments d'une ArrayList ou d'une LinkedList?
Répondre
Il est « plus facile » (soit plus efficace) pour les supprimer d'un LinkedList
, parce que le retrait d'un ArrayList
exige de déplacer tous les éléments suivants à une nouvelle position dans la liste — tous les éléments suivants du tableau doit être attribué une nouvelle valeur. Avec une liste chaînée, un seul pointeur (ou deux, avec une liste doublement chaînée) doit être réattribué.
Eh bien, la suppression d'un élément d'une liste (doublement liée) est O (1). Mais la suppression d'un tableau nécessitera que les éléments restants soient décalés d'un espace dans le tableau, qui est O (n). Cela dit, obtenir un élément spécifique dans une liste par index est O (n), alors qu'obtenir un élément spécifique dans un tableau par index est O (1). Donc, pour la suppression réelle, LinkedList sera mieux. Il y a plus d'informations sur Array's versus LinkedList here.
Veuillez noter que 'linkedList.remove (100)' est O (n). – sulai
- 1. JSTL Impression des éléments arrayList
- 2. Quelle est la manière la plus efficace/élégante de supprimer des éléments d'une matrice dans MATLAB?
- 3. Spécification du type des éléments de ArrayList
- 4. Quoi de plus efficace i ++ ou ++ i?
- 5. Plus efficace: grand tableau ou plusieurs scalaires
- 6. Supprimer des éléments orphelins dans une hiérarchie
- 7. supprimer des éléments d'un HashSet tout Itération
- 8. Méthode la plus efficace pour inverser une pile et l'ajouter à une ArrayList
- 9. Manière plus efficace de tracer des points de l'axe x?
- 10. Problèmes avec les éléments ArrayList et hibernation
- 11. LINQ: Supprimer des éléments de IQueryable
- 12. Comparer Classe Le plus efficace?
- 13. Comment supprimer l'un des éléments dans Roles.GetAllRoles()
- 14. stratégie de suppression de ligne la plus efficace pour QStandardItemModel
- 15. Manière plus efficace de décaper une chaîne
- 16. PHP plus efficace si structure
- 17. Stocker des valeurs dans web.config - appSettings ou configSection - qui est plus efficace?
- 18. Le moyen le plus efficace pour obtenir des listes?
- 19. Structure de données efficace pour comparer les éléments avec les attributs les plus courants
- 20. WPF: Manière plus efficace d'afficher des images qui changent rapidement?
- 21. LinkedList (T) add-method
- 22. Est-il possible de "supprimer" le style des éléments HTML?
- 23. Analyse en Python: quel est le moyen le plus efficace pour supprimer/normaliser les chaînes?
- 24. Utiliser Hashtable, Vector ou HashMap ou ArrayList dans Java
- 25. Supprimer ou supprimer virtuellement?
- 26. LinkedList "node jump"
- 27. Quelle instruction SQL est la plus efficace se joint ou existe
- 28. compte arraylist
- 29. Quel est le sélecteur le plus correct/le plus efficace?
- 30. Comment puis-je itérer sur les tuples des éléments de deux listes ou plus en Python?
Cela devrait vraiment être reformulé. Quelque chose comme "Est-il plus efficace de supprimer des éléments d'une ArrayList ou LinkedList?" La théorie a peu à voir avec cela, et «plus facile» est juste trompeur. – AgileJon
Johanna, veuillez définir ce que vous voulez dire par "plus facile". Plus facile pour le programmeur ou plus efficace pour le CPU? –