gpt4 book ai didi

java - ConcurrentHashMap - 添加具有相同Key的项目

转载 作者:行者123 更新时间:2023-12-01 07:45:33 25 4
gpt4 key购买 nike

我有一个 CuncurrentHasMap:

private static ConcurrentHashMap<String, Object> testParameters =
new ConcurrentHashMap<String, Object>();

我(有时)使用相同的键推送对象,这些对象是 TreeMap(string, MyPrivateClass) 类型的 TreeMap。

如何更改此 put 方法,以便将具有相同键的对象放置在一起而不被覆盖?

public static void put(String key, Object object) {

getTestParameters().put(key, object);
}

最佳答案

将值设为 List<Object> (或其他一些容器/集合类型),而不是 Object :

private static ConcurrentHashMap<String, List<Object>> testParameters =
new ConcurrentHashMap<>();

然后使用 compute而不是put创建并添加到列表:

getTestParameters().compute(key, (k, v) -> {
if (v == null) v = new ArrayList<>();
v.add(object);
return v;
});

关于java - ConcurrentHashMap - 添加具有相同Key的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53480488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com