【发布时间】:2019-04-28 01:28:17
【问题描述】:
我有一个 CuncurrentHasMap:
private static ConcurrentHashMap<String, Object> testParameters =
new ConcurrentHashMap<String, Object>();
我正在推送(有时)具有相同键的对象,这些对象是 TreeMap(string, MyPrivateClass) 类型的 TreeMap。
如何改变这个put方法,让相同key的对象放在一起不被覆盖?
public static void put(String key, Object object) {
getTestParameters().put(key, object);
}
【问题讨论】:
-
will be placed together,这是什么意思?为此,您需要使用<String,Collection<Object>>的地图。 -
也许你想使用另一种数据结构。
ConcurrentHashMap的每个键只有一个值。 -
你想要某种值的合并吗?
-
placed together是什么意思?您想将新的 treeMap 与当前的 treeMap 合并,还是想同时引用这两个 treeMap?在后一种情况下,您应该声明您的测试参数,如列表映射:ConcurrentHashMap<String, List<Object>> testParameters,以防键已经存在。 -
@Selaron : 是的,我想将新的 treeMap 与当前的树图合并!
标签: java concurrency