recherche
MaisonJavajavaDidacticielComment puis-je récupérer des clés à partir de valeurs dans un Java HashMap ?

How Can I Retrieve Keys from Values in a Java HashMap?

Récupération de clés à partir de valeurs dans Java HashMap

HashMap est une structure de données Java précieuse pour stocker des paires clé-valeur. Bien que la récupération de valeurs à partir de clés soit simple, la récupération de clés à partir de valeurs peut s'avérer plus difficile. Voici plusieurs méthodes efficaces pour y parvenir :

Mappages un-à-plusieurs

Dans les situations où plusieurs clés peuvent correspondre à une seule valeur, vous pouvez parcourir le Entrées de HashMap et collectez toutes les clés correspondantes :

public static <t e> Set<t> getKeysByValue(Map<t e> map, E value) {
    Set<t> keys = new HashSet();
    for (Entry<t e> entry : map.entrySet()) {
        if (Objects.equals(value, entry.getValue())) {
            keys.add(entry.getKey());
        }
    }
    return keys;
}</t></t></t></t></t>

One-to-One Mappages

Lorsque chaque valeur correspond à une clé unique, vous pouvez renvoyer la première clé correspondante :

public static <t e> T getKeyByValue(Map<t e> map, E value) {
    for (Entry<t e> entry : map.entrySet()) {
        if (Objects.equals(value, entry.getValue())) {
            return entry.getKey();
        }
    }
    return null;
}</t></t></t>

Approche Java 8 Stream

Java 8 fournit une méthode pratique pour filtrer et collecter les correspondances clés :

public static <t e> Set<t> getKeysByValue(Map<t e> map, E value) {
    return map.entrySet()
              .stream()
              .filter(entry -> Objects.equals(entry.getValue(), value))
              .map(Map.Entry::getKey)
              .collect(Collectors.toSet());
}</t></t></t>

BiMap de Guava

Pour les cas où la cartographie bidirectionnelle est requise, pensez à utiliser BiMap de Guava :

BiMap<token character> tokenToChar = 
    ImmutableBiMap.of(Token.LEFT_BRACKET, '[', Token.LEFT_PARENTHESIS, '(');
Token token = tokenToChar.inverse().get('(');
Character c = tokenToChar.get(token);</token>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
À quoi sert Java principalement? Analyse des principales utilisations de Java dans le développement réelÀ quoi sert Java principalement? Analyse des principales utilisations de Java dans le développement réelMay 16, 2025 pm 02:54 PM

Java est principalement utilisé pour créer des applications de bureau, des applications mobiles, des solutions de niveau d'entreprise et un traitement des mégadonnées. 1. Applications au niveau de l'entreprise: Soutenez les applications complexes telles que les systèmes bancaires via Javaee. 2. Développement Web: Utilisez le ressort et l'hibernate pour simplifier le développement et Springboot construit rapidement des microservices. 3. Applications mobiles: Toujours l'une des principales langues du développement Android. 4. Traitement des mégadonnées: Hadoop et Spark Process Massive Data basé sur Java. 5. Développement de jeu: Convient pour le développement de jeux de petite et moyenne taille, comme Minecraft.

Comment définir Java sur l'outil de développement Java chinois Tutoriel d'interface chinoiseComment définir Java sur l'outil de développement Java chinois Tutoriel d'interface chinoiseMay 16, 2025 pm 02:51 PM

Comment définir des outils de développement Java à l'interface chinoise? Il peut être implémenté via les étapes suivantes: Eclipse: Window-> Préférences-> Général-> Apparence-> I18NSUPPort-> Langue-> chinois (simplifié), puis redémarrer Eclipse. IntelliJidea: Help-> findAction-> Entrez "SwitchLanguage" -> Sélectionnez "SwitchIdElanguage & Q

Combien de temps faut-il pour apprendre Java pour fonctionner? Cycle d'apprentissage Java et estimations du temps d'emploiCombien de temps faut-il pour apprendre Java pour fonctionner? Cycle d'apprentissage Java et estimations du temps d'emploiMay 16, 2025 pm 02:48 PM

Il faut généralement 6 à 12 mois pour apprendre Java et atteindre le niveau de travail, et il peut être raccourci à 3 à 6 mois pour ceux qui ont une fondation de programmation. 1) Les apprenants avec une fondation zéro doivent maîtriser les bases et les bibliothèques couramment utilisées pendant 6 à 12 mois. 2) Ceux qui ont une fondation de programmation peuvent le maîtriser dans les 3 à 6 mois. 3) Après 9 à 18 mois d'emploi, les projets réels et les stages peuvent accélérer le processus.

Quoi de neuf dans Java? Le processus d'allocation de mémoire du nouvel opérateurQuoi de neuf dans Java? Le processus d'allocation de mémoire du nouvel opérateurMay 16, 2025 pm 02:45 PM

Dans Java, le nouvel opérateur est utilisé pour créer un objet, et ses processus incluent: 1) l'allocation de l'espace dans la mémoire du tas, 2) l'initialisation de l'objet, 3) l'appel du constructeur et 4) le renvoi de la référence de l'objet. La compréhension de ces étapes peut aider à optimiser l'utilisation de la mémoire et à améliorer les performances des applications.

Comment définir les tableaux au format de syntaxe Java Description de la déclaration de tableauComment définir les tableaux au format de syntaxe Java Description de la déclaration de tableauMay 16, 2025 pm 02:42 PM

La syntaxe pour définir un tableau en Java est: 1. Type de données [] Nom du tableau = nouveau type de données [longueur du tableau]; 2. Type de données Nom du tableau [] = nouveau type de données [longueur du tableau]; 3. Type de données [] Nom du tableau = {Liste des éléments}; Le tableau est un objet, peut être nul, et l'indice commence à partir de 0.

Utilisation de nouveaux mots clés dans Java Explication détaillée de la création d'instances d'objets de nouveaux mots clésUtilisation de nouveaux mots clés dans Java Explication détaillée de la création d'instances d'objets de nouveaux mots clésMay 16, 2025 pm 02:39 PM

Le nouveau mot-clé est utilisé dans Java pour créer des instances d'objets. 1) Il indique au JVM d'allouer la mémoire et d'appeler le constructeur pour initialiser l'objet. 2) Utilisez nouveau pour forcer de nouveaux objets à créer même si le contenu est le même. 3) Le constructeur permet une initialisation personnalisée. 4) L'utilisation fréquente de nouveaux peut entraîner des problèmes de performances et des fuites de mémoire. 5) Il est nécessaire d'utiliser un coup de main pour gérer les exceptions possibles. 6) Les classes internes anonymes sont une utilisation avancée de nouveaux.

Java chinois solution brouillée plusieurs compétences pour le codage de personnage ConversionJava chinois solution brouillée plusieurs compétences pour le codage de personnage ConversionMay 16, 2025 pm 02:36 PM

Pour résoudre le problème du chinois brouillé en Java, vous pouvez utiliser les étapes suivantes: 1. Définissez le codage de caractères correct, tel que UTF-8 ou GBK, pour vous assurer que le fichier, la base de données et la communication réseau utilisent le même codage. 2. Utilisez la classe de conversion de codage de personnage de Java pour effectuer la conversion de codage nécessaire. 3. Vérifiez si le codage est correct grâce à des outils de débogage et des journaux pour vous assurer que l'affichage chinois est normal dans différents environnements.

Quelles sont les deux catégories d'exceptions en Java? La différence entre les exceptions vérifiées et non chériesQuelles sont les deux catégories d'exceptions en Java? La différence entre les exceptions vérifiées et non chériesMay 16, 2025 pm 02:33 PM

Les exceptions en Java sont divisées en exceptions vérifiées et exceptions non chéries. Les exceptions de type vérification doivent être gérées explicitement, sinon le compilateur rapportera une erreur, qui est souvent utilisée pour récupérer les erreurs, telles qu'un fichier introuvable; Les exceptions non cochées n'ont pas besoin d'être gérées explicitement et sont souvent utilisées pour les erreurs de programmation, telles qu'une exception de pointeur nul.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP