首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Java实现】向现有Map键追加值而非覆盖

【Java实现】向现有Map键追加值而非覆盖

作者头像
JavaEdge
发布于 2022-11-30 15:56:18
发布于 2022-11-30 15:56:18
1.8K0
举报
文章被收录于专栏:JavaEdgeJavaEdge

使用this.put(“String”, “String”)方法添加一个键值对。但是,它会覆盖现有值,而我想使用同一个键存储和配对多个值。

使用可以存储多个对象的ArrayList,当为HashMap分配一个值(例如,称为myHashMap)时,首先检查该键之前是否已使用过,如果尚未使用过,则可以创建一个具有要添加值的新ArrayList(如果有的话),则只需将值添加到列表中即可。

假设key和value具有所需的值:

代码语言:javascript
复制
ArrayList<String> list;
if(myHashMap.containsKey(key)){
    // if the key has already been used,
    // we'll just grab the array list and add the value to it
    list = myHashMap.get(key);
    list.add(value);
} else {
    // if the key hasn't been used yet,
    // we'll create a new ArrayList<String> object, add the value
    // and put it in the array list with the new key
    list = new ArrayList<String>();
    list.add(value);
    myHashMap.put(key, list);
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档