Ce que j'ai est un HashMap<String, ArrayList<String>>
appelé examList
. Ce que je veux l'utiliser, c'est d'enregistrer les notes de chaque cours suivi par une personne. Donc, la clé pour ce HashMap
est couresID
, et la valeur est un ArrayList
de toutes les notes (tentatives d'examen) que cette personne a faites.
Le problème est que je sais comment travailler avec les listes de tableaux et les hashmaps normalement, mais je ne sais même pas comment commencer avec cet exemple. Alors, comment pourrais-je, ou un exemple, ajouter quelque chose à ArrayList
dans HashMap
?
Vous pouvez soit utiliser la bibliothèque Google Guava, qui a des implémentations pour Multi-Value-Maps (Apache Commons Collections a également des implémentations, mais sans génériques).
Cependant, si vous ne souhaitez pas utiliser une bibliothèque externe, vous feriez quelque chose comme ceci:
if (map.get(id) == null) { //gets the value for an id)
map.put(id, new ArrayList<String>()); //no ArrayList assigned, create new ArrayList
map.get(id).add(value); //adds value to list.
String courseID = "Comp-101";
List<String> scores = new ArrayList<String> ();
scores.add("100");
scores.add("90");
scores.add("80");
scores.add("97");
Map<String, ArrayList<String>> myMap = new HashMap<String, ArrayList<String>>();
myMap.put(courseID, scores);
J'espère que cela t'aides!
Créez d'abord HashMap.
HashMap> mapList = new HashMap> ();
Obtenez de la valeur de HashMap par rapport à votre clé d'entrée.
ArrayList arrayList = mapList.get (clé);
Ajoutez de la valeur à l'arraylist.
arrayList.add (addvalue);
Ensuite, mettez arraylist contre cette valeur clé. mapList.put (clé, arrayList);
Ça va marcher.....
Vous récupérez d'abord la valeur (avec une clé) puis vous y ajoutez un nouvel élément
ArrayList<String> grades = examList.get(courseId);
grades.add(aGrade);
Tout d'abord, vous devez rechercher le ArrayList
correct dans le HashMap
:
ArrayList<String> myAList = theHashMap.get(courseID)
Ensuite, ajoutez la nouvelle note au ArrayList
:
myAList.add(newGrade)