Est-ce que quelqu'un pourrait nous dire quels sont les cas d'utilisation importants de IdentityHashMap
?
Réponses
Trop de publicités?La documentation dit:
Une utilisation typique de cette classe est la topologie de la préservation de l'objet graphique des transformations, telles que la sérialisation ou profonde de la copie. Pour effectuer une telle de transformation, un programme doit maintenir un "nœud de la table" qui permet d' la trace de toutes les références d'objet qui ont déjà été traitées. L' tableau nœud ne doit pas assimiler distinctes les objets même s'ils se trouvent être de l'égalité. Un autre exemple d'utilisation de cette la classe est de maintenir des objets proxy. Par exemple, une fonction de débogage pourrait souhaitent maintenir un objet proxy pour chaque objet dans le programme débogué.
HashMap crée Entrée objets chaque fois que vous ajoutez un objet, ce qui peut mettre beaucoup de stress sur la table quand vous avez beaucoup d'objets. Dans une table de hachage avec 1 000 objets ou plus, vous finirez en utilisant une bonne partie de votre CPU un peu d'avoir le GC nettoyer les entrées (dans des situations comme pathfinding ou d'autres one-shot collections qui sont créés et nettoyé). IdentityHashMap n'ont pas ce problème, alors, finissent par être beaucoup plus rapide.
Voir une référence ici: http://www.javagaming.org/index.php/topic,21395.0/topicseen.html