Java,如何将值添加到用作 HashMap 中的值的数组列表

新手上路,请多包涵

我有一个 HashMap<String, ArrayList<String>> 叫做 examList 。我想用它来保存一个人参加的每门课程的成绩。所以这个 HashMap 的关键是 couresID ,值是一个 ArrayList 这个人所做的所有等级(考试尝试)。

问题是我知道如何正常使用数组列表和哈希图,但我不确定如何从这个例子开始。那么,我将如何,或例如,添加一些东西到 ArrayList 里面 HashMap

原文由 vedran 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 360
2 个回答

您可以使用 Google Guava 库,它具有多值映射的实现(Apache Commons Collections 也有实现,但没有泛型)。

但是,如果您不想使用外部库,那么您可以这样做:

 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.

原文由 dunni 发布,翻译遵循 CC BY-SA 3.0 许可协议

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);

希望这可以帮助!

原文由 Mechkov 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题