首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >另外添加一个参数

另外添加一个参数
EN

Stack Overflow用户
提问于 2013-01-23 07:54:21
回答 4查看 75关注 0票数 0

可能重复: removing value from the list

我有一个查询,我有一个这样的地图

代码语言:javascript
运行
复制
 Map ab = new HashMap<String, List<String>>();

它包含这样的值

代码语言:javascript
运行
复制
  1  22 23 24 25

因此,1是关键,值为22,23,24,25。

现在我想改变结构

像这样

代码语言:javascript
运行
复制
 1 22 23 24 25 | M

如上所示,除22,23,24,25外,我还想存储管道\M,请说明如何实现这一点。

EN

回答 4

Stack Overflow用户

发布于 2013-01-23 07:55:40

您可以只使用((List<String>)ab.get("1")).add("|M")

编辑:修改,因为它是<Object, Object>的原始地图。请注意,这是一个未检查的强制转换。当您知道Map将包含什么时,不应该使用原始类型。另一种避免未经检查的强制转换的方法是使用instanceof运算符。

票数 1
EN

Stack Overflow用户

发布于 2013-01-23 08:19:36

尝尝这个

代码语言:javascript
运行
复制
Map ab = new HashMap<String, List<String>>();
        ab.put("1", "22 23 24 25");
        Iterator it = ab.entrySet().iterator();

            if (ab.containsKey("1")) {
                String value = (String) ab.get("1");
                value += "| M";
                ab.put("1", value);
            }

        System.out.println(ab.get("1"));
票数 0
EN

Stack Overflow用户

发布于 2013-01-23 08:35:06

因此,以Swapnil的回答为基础:

代码语言:javascript
运行
复制
Map<String,List<String>> ab = new HashMap<String, List<String>>();

List<String> valueList = ab.get("1");
if (valueList == null) {
  valueList = new ArrayList<String>();
  ab.put("1",valueList);
}
valueList.add ("|M");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14474816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档