Maison >Java >javaDidacticiel >Comment stocker et récupérer plusieurs valeurs associées à la même clé dans un 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>
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!