Java,如何向数组列表中添加值,在 HashMap 中用作值

2022-09-01 19:53:13

我所拥有的是一个叫做.我想用它来保存一个人正在参加的每门课程的成绩。因此,关键是,价值是这个人所做的所有成绩(考试尝试)中的一个。HashMap<String, ArrayList<String>>examListHashMapcouresIDArrayList

问题是我知道如何正常使用数组列表和哈希映射,但我不确定如何从这个例子开始。那么,我如何或举例说明,在里面添加一些东西呢?ArrayListHashMap


答案 1

你可以使用Google Guava库,它有多值地图的实现(Apache Commons Collections也有实现,但没有泛型)。

但是,如果您不想使用外部lib,那么您可以执行如下操作:

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.

答案 2
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);

希望这有帮助!