另外添加一个参数

时间:2013-01-23 07:54:21

标签: java

  

可能重复:
  removing value from the list

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

 Map ab = new HashMap<String, List<String>>();

它包含像这样的值

  1  22 23 24 25

所以1是键,值是22,23,24,25

现在我想改变结构

像这样

 1 22 23 24 25 | M

如上图所示在列表中除了22,23,24,25我想存储管道| M还请指教如何实现这个

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

试试这个

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

答案 2 :(得分:0)

所以,基于Swapnil的回答:

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

答案 3 :(得分:-1)

使用值创建一个新列表,并使用相同的键将其放在地图上,它将被替换。