Je veux avoir une carte en Java alors j'ai pensé HashMap
. Mais maintenant, je veux surmonter les frais généraux introduits par le hachage. Fondamentalement, il y a des objets qui contiennent une clé pour la carte pendant très peu de temps - mais beaucoup d'entre eux, et interrogent/remplacent une valeur souvent. Donc, je pensais que les frais généraux de hachage de la clé chaque fois que get()
ou set()
est appelé pourrait être important et aussi surmonter. J'ai donc pensé, avec la clé, en sauvant le hachage de la clé - et en réduisant les frais généraux.Java HashMap qui peut être consulté par hachage
Est-il possible en Java get()
et set()
une valeur avec la clé et un hachage précalculé pour la clé - et bien sûr obtenir cette clé de la carte de cohérence pour éviter la surcharge de la carte ayant pour hacher la clé?
"Je veux avoir une carte en Java qui a une vitesse d'accès O (log n), donc j'ai pensé HashMap" - c'est étrange de penser cela. HashMap est O (1), O (N) dans le pire des cas. Les cartes basées sur des commandes telles que TreeMap seraient O (log n). – user2357112
Si vous demandez si vous pouvez entrer une carte sur un hachage lui-même plutôt qu'un objet qui génère un hachage; alors oui, c'est essentiellement ce que vous obtenez si vous utilisez 'Integer' comme type de clé. À part ça, je ne suis pas sûr de ce que vous demandez. – khelwood
@khelwood Si j'utilise Integer, il va encore hacher l'entier, n'est-ce pas? cela semble pas beaucoup de frais généraux, certainement réduire, mais pas tout à fait là. Je vais le considérer. – WorldSEnder