La Performance de TreeMap, HashMap et LinkedHashMap?

Dans TreeMap - Éléments sont triés
Dans la HashMap - Éléments ne sont pas triés

Donc, si je considère get, put et remove méthodes de quelle carte dois-je utiliser pour la performance?

Voir la Javadoc. HashMap est de O(1): constante de temps de la performance pour les opérations de base (get et put), en supposant que la fonction de hachage disperse les éléments correctement entre les compartiments. TreeMap est spécifié à la garantie de log(n) coût du temps pour la containsKey, get, put et remove opérations.
Sans le savoir à vos critères pour l'évaluation de l'option qui serait la meilleure, la réponse à cette question est impossible. Clairement, si vous avez besoin d'une collection triée seulement TreeMap fera. Mais vous le saviez déjà.
Assez détaillée ici: difference-between-hashmap-linkedhashmap-and-treemap
La accepté de répondre à dit HashMap est plus rapide. Mais la Javadoc LinkedHashMap (Java 8) dit qu'il itère beaucoup plus rapide que HashMap. Donc, YMMV, en fonction de vos propres critères. Certainement ne pas utiliser TreeMap sauf si vous avez besoin tri, et l'utilisation LinkedHashMap pour préserver l'ordre d'insertion.

OriginalL'auteur Vicky | 2012-05-04