6
votes

Trier les bases HASHMAP sur la variable de membre de l'objet de la valeur

avoir une classe xxx

et une carte contenant cet objet en valeur xxx

maintenant je veux trier ci-dessus mapper une base de nom de l'employé . Signifie quand j'étite cette carte à l'aide de map.ientry , Employee Les objets doivent revenir alphabétiquement.

Merci d'avance


4 commentaires

Postez vos échantillons que vous avez essayés.


Je n'ai pas essayé. Je viens de rechercher ces exigences, mais je n'ai trouvé aucun message pour la même chose.


Je pense que vous pouvez trouver votre réponse dans ce message: Comment trier une carte sur les valeurs de Java?


@ Michaël, merci pour votre réponse et cela fonctionne pour moi. en a changé. Poster des changements d'ANS. Merci


3 Réponses :


3
votes

5 commentaires

Cette méthode est contractuellement pour trier en fonction des clés, bien que cela soit possible.


@Nilsh: Comme cela permet un comparateur personnalisé, vous pouvez écrire votre propre logique pour trier.


Oui, vous pouvez, mais le point était que le contrat est qu'il est trié par les clés.


@Nilsh: Tant que vous l'obtenez efficacement et en enregistrant un codage supplémentaire, je suppose que ça devrait aller bien.


Bien sûr, je ne suis pas en désaccord sur la solution :) Je le souligne simplement pour que l'affiche originale soit consciente.



3
votes

Vous ne pouvez pas trier un hashmap , mais vous pouvez trier ses entrées obtenues avec entrée () . XXX

Après le tri Vous pouvez remettre vos entrées dans une carte qui prend en charge la commande, par exemple LinkedHashMap .

Cela dépend de votre cas d'utilisation: Si vous avez besoin de garder la carte toujours triée, il est plus simple d'utiliser un Treemap qui est livré avec une surcharge supplémentaire. Si vous avez besoin d'un tri unique, vous pouvez utiliser un hashmap avec le code ci-dessus.


0 commentaires

1
votes

Michaà «L a suggéré un lien qui est Triez une carte par valeurs (Java) . J'ai fait quelques changements dedans. Et cela fonctionne pour moi xxx

pour solution s'il vous plaît faire référence au-dessus de la liaison de résidence.

Merci pour tous ceux qui ont une réponse.


0 commentaires