![](/img/trans.png)
[英]JSF ApplicationScoped HashMap - ConcurrentHashMap
[英]HashMap to concurrentHashMap
我有一个返回HashMap
的getHashMap
方法。 我需要用HashMap
填充ConcurrentHashMap
(在setConcurrentHashMap
)。
有没有办法做到这一点?
示例代码:
//getHashMap return a HashMap<String, String>
Map<String, String> myMap = getHashMap();
TestClass.getSingleton().setConcurrentHashMap(ConcurrentHashMap<String, String> concurrentHashMap)
快速浏览一下javadoc 会发现ConcurrentHashMap
有一个复制构造函数,它接受一个 Map 作为参数:
Map<String, String> myMap = getHashMap();
ConcurrentMap<String, String> concurrentMap = new ConcurrentHashMap<> (myMap);
您有Collections#synchronizedXXX
可以很好地用于此类任务。
对于您的情况,将使用Collections#synchronizedMap(Map)
映射。
TestClass.getSingleton()
.setConcurrentHashMap(Collections.synchronizedMap(myMap));
ConcurrentHashMap
类提供了一个构造函数来从给定的Map
创建一个ConcurrentHashMap
。
Map<String, String> myMap = getHashMap();
TestClass.getSingleton()
.setConcurrentHashMap(new ConcurrentHashMap<String, String>(myMap));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.