我有Map
这样:
Map<String,GridCell> cellsMap
我将此传递给方法,并且该方法的返回应包含Map
(例如answerMap
),其中包含cellsMap
地图的所有条目以及额外条目,其中包含String
作为键,String
作为值。类似的东西:
Map<String,Object> answerMap = new ConcurrentHashMap<String,Object>();
//answer should first contain all the map entries of cellsMap and then add an extra entry like the following
answer.put(getId(), getSelectionValue()); // getSelectionValue() returns a String that contains coordinates of the selected cells.
return answerMap;
答案 0 :(得分:3)
您是否考虑过Map.putAll()方法?
e.g。
answerMap.putAll(cellsMap);
顺便说一句,我认为这不是一个好的对象模型。我认为您最好创建一个包含原始地图(可能是副本)的新课程以及String
/ String
对的其他字段。
否则你将不同类型的对象扔到同一个地图中,这会在以后提取该信息时使生活变得复杂。每次通过密钥提取时,您都必须检查返回对象的类型。请注意,ConcurrentHashMaps
不会维护广告订单。
答案 1 :(得分:0)
使用clone()方法。
HashMap answerMap = (HashMap)cellsMap.clone();
答案 2 :(得分:0)
Map接口有putall()方法,可以在Map中添加另一个对象的所有值。