Ce qui est plus rapide dans l'accès aux éléments de Java collections

Je suis en train d'essayer de comprendre ce qui est plus rapide dans l'accès aux éléments de collections en Java comme ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap etc.

À partir de cette question: Adapté java collection rapide pour obtenir de l'élimination rapide et, j'ai appris à connaître que ArrayList prend O(1) et TreeMap que O(log n)

où, comme ceci: Carte/liste de tableaux: lequel est le plus rapide pour rechercher un élément montre que ArryList est O(n), HashMap que O(1) et TreeMap que O(log n)

où, comme ceci: Pourquoi est-il plus rapide de traiter un tableau trié qu'un tableau non trié? dit que le tableau trié est plus rapide que des ménagères de tableau. Comme les éléments de TreeMap sont triés puis puis-je assumer toutes les collections triées sont plus rapides que les nations unies-collections triées?

Merci de m'aider dans la compréhension de ce qui est plus rapide pour accéder à des éléments de java collections de list, set, map etc implémentations.

La javadoc de chaque collection explique la complexité de chaque opération dans la collection. La lire.
Vous pouvez supposer que vous voulez, mais ce n'en est pas vrai. Tout simplement parce que a triés array est plus rapide que celui d'un non triés dans un cet exemple ne veut pas dire tous triés collections sont plus rapides que toutes les ménagères de collections de tous les modèles d'utilisation.
Si il y avait une seule structure de données qui est toujours mieux que tous les autres, l'API Java serait mise en œuvre que cette structure de données. Il dispose de plusieurs structures de données, car les différentes structures de données sont optimisés pour des fins différentes.
Si plus d'une collection répond à vos exigences fonctionnelles, et l'accès est question de performance, en temps votre programme avec à chaque collection.

OriginalL'auteur Chaitanya | 2013-11-30