地图中的java插入<;字符串,Set<;字符串>&燃气轮机; 在C++中我可以做到: map<string, set<string>> v; v["AHA"].insert("BA"); mapv; v[“AHA”]。插入(“BA”);

地图中的java插入<;字符串,Set<;字符串>&燃气轮机; 在C++中我可以做到: map<string, set<string>> v; v["AHA"].insert("BA"); mapv; v[“AHA”]。插入(“BA”);,java,hashmap,set,Java,Hashmap,Set,在java中,我有: HashMap<String, Set<String>> v = new HashMap<String, Set<String>>(); HashMap v=newhashmap(); 如何将“BA”插入到“AHA”中,如C++(?)/P> 是的,我试试这个: Set<String> vs = V.get("B"); if (vs == null) vs = new HashSet<String>

在java中,我有:

 HashMap<String, Set<String>> v = new HashMap<String, Set<String>>();
HashMap v=newhashmap();
如何将“BA”插入到“AHA”中,如C++(?)/P> 是的,我试试这个:

Set<String> vs = V.get("B");
if (vs == null) vs = new HashSet<String>();
vs.add("V");
V.put("B", vs);
Set vs=V.get(“B”);
如果(vs==null)vs=newhashset();
vs.add(“V”);
V.put(“B”,vs);
但是是大的

HashMap v=newhashmap();
HashMap<String, Set<String>> v = new HashMap<String, Set<String>>();
Set<String> set = new HashSet<String>();
set.add("some data");
v.put("AHA",set);  
Set=newhashset(); 设置。添加(“某些数据”); v、 put(“AHA”,set);

首先创建一个集合,然后将其存储在映射中。

如果要向集合中添加一些内容,并考虑到键/值对可能尚未存在于映射中,则可以使用

v.computeifassent(“AHA”,k->newhashset()).add(“BA”)
这将在映射中查找键,如果缺少,则添加一个新的空集作为值,这样您就可以直接向其中添加内容

如果您使用的是Java 8之前的Java版本,那么代码会多一点:

Set<String> s = v.get("AHA");
if (s==null) {
    s = new HashSet<String>();
    v.put("AHA", s);
}
s.add("BA");
Set s=v.get(“AHA”);
如果(s==null){
s=新的HashSet();
v、 put(“AHA”,s);
}
s、 添加(“BA”);

v.get(“AHA”).add(“BA”)
请参见和@khelwood,但如果v.get(“AHA”)为null,则它不起作用,我应该始终只检查(v.get(“AHA”)!=null)?我可以插入已存在的外接程序集中。在C++中,我可以插入v [ AHA ]。v[“AHA”]。插入(“BF”);等等,有时候。在java中,如果不检查NULL,我就不能这样做?
Set<String> s = v.get("AHA");
if (s==null) {
    s = new HashSet<String>();
    v.put("AHA", s);
}
s.add("BA");