我有一个查询,我有一个这样的地图
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,请说明如何实现这一点。
发布于 2013-01-23 07:55:40
您可以只使用((List<String>)ab.get("1")).add("|M")
编辑:修改,因为它是<Object, Object>
的原始地图。请注意,这是一个未检查的强制转换。当您知道Map
将包含什么时,不应该使用原始类型。另一种避免未经检查的强制转换的方法是使用instanceof
运算符。
发布于 2013-01-23 08:19:36
尝尝这个
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"));
发布于 2013-01-23 08:35:06
因此,以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");
https://stackoverflow.com/questions/14474816
复制相似问题