在C++中我可以做到:
map<string, set<string>> v;
v["AHA"].insert("BA");
Run Code Online (Sandbox Code Playgroud)
在java我有:
HashMap<String, Set<String>> v = new HashMap<String, Set<String>>();
Run Code Online (Sandbox Code Playgroud)
我如何将"BA"作为c ++插入v ["AHA"]?
是的我试试这个:
Set<String> vs = V.get("B");
if (vs == null) vs = new HashSet<String>();
vs.add("V");
V.put("B", vs);
Run Code Online (Sandbox Code Playgroud)
但是很大
如果要在集合中添加内容,并允许键/值对可能尚未存在于地图中,则可以使用 computeIfAbsent
v.computeIfAbsent("AHA", k -> new HashSet<String>()).add("BA")
Run Code Online (Sandbox Code Playgroud)
这将在地图中查找键,如果缺少,则使用新的空集作为值添加,以便您可以直接添加内容.
如果您在Java 8之前使用的是Java版本,那么代码更多一些:
Set<String> s = v.get("AHA");
if (s==null) {
s = new HashSet<String>();
v.put("AHA", s);
}
s.add("BA");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1299 次 |
| 最近记录: |