Maison > Java > javaDidacticiel > Comment stocker et récupérer plusieurs valeurs associées à la même clé dans un HashMap ?

Comment stocker et récupérer plusieurs valeurs associées à la même clé dans un HashMap ?

DDD
Libérer: 2024-10-25 10:04:02
original
1154 Les gens l'ont consulté

How can you store and retrieve multiple values associated with the same key in a HashMap?

HashMap : Gérer plusieurs valeurs pour une seule clé

Question :

Est-ce possible stocker et récupérer plusieurs valeurs associées à la même clé dans un HashMap ? Si oui, comment puis-je accéder à la troisième valeur de la première clé ?

Réponse :

Bien qu'un HashMap standard ne puisse pas stocker les clés en double, il est possible d'implémenter un Structure de type HashMap qui autorise plusieurs valeurs pour une seule clé à l'aide d'une carte de liste. Voici une solution Java simple :

<code class="java">import java.util.HashMap;
import java.util.ArrayList;

public class MultiValueMapDemo {

    public static void main(String[] args) {
        // Create a Map of List to store key-value pairs
        Map<Object, ArrayList<Object>> multiMap = new HashMap<>();

        // Add key-value pairs
        multiMap.computeIfAbsent("keyA", k -> new ArrayList<>()).add("value1");
        multiMap.computeIfAbsent("keyA", k -> new ArrayList<>()).add("value2");
        multiMap.computeIfAbsent("keyA", k -> new ArrayList<>()).add("value3");

        // Get the third value for the first key
        Object thirdValue = multiMap.get("keyA").get(2);

        System.out.println("Third value for keyA: " + thirdValue);
    }
}</code>
Copier après la connexion

Cette approche crée un HashMap où les valeurs associées à une clé sont stockées dans une liste. Pour accéder à une valeur spécifique, vous pouvez utiliser la méthode get() sur l'objet List récupéré du HashMap. Dans cet exemple, la troisième valeur de la clé "keyA" est accessible à l'aide de multiMap.get("keyA").get(2).

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal