Java集合集澄清

时间:2018-03-24 10:19:47

标签: java collections

我正在考虑在java中创建一个包含键和值的列表,并决定创建类似

的东西
private static HashMap<String, Set<String>> battleTanks = new HashMap<String, Set<String>>();

然后我试图在其中添加一些值,如battleTanks.put(“keytest1”,“valuetest1”)

但它给我一个像

这样的错误
  

方法put(String,Set)在HashMap&gt;类型中;不适用于参数(String,String)

那么如何添加这些值?

1 个答案:

答案 0 :(得分:5)

您需要做的是添加Set作为Map的值。

computeIfAbsent方法是一种干净的方法,因为它会获得已经存在于键的映射中的集合,或者如果它尚未存在则创建一个新的集合:

battleTanks.computeIfAbsent("keytest1", k -> new HashSet<>()).add("valuetest1")