将元素添加到HashMap Java中的HashSet中

将元素添加到HashMap Java中的HashSet中,java,hashmap,Java,Hashmap,我有这个问题,我在网上寻找,我可以得到帮助。。。我也看了其他的问题,他们没有工作,我不知道为什么。。。所以我需要你的帮助 这是我创建HashMap的一个字段: private HashMap <String,HashSet<String>> userBuisness = new HashMap <String,HashSet<String>>(); 正如@AndyTurner在评论中所说: 字段[1]是字符串,而不是哈希集。您可以使用新的Hash

我有这个问题,我在网上寻找,我可以得到帮助。。。我也看了其他的问题,他们没有工作,我不知道为什么。。。所以我需要你的帮助

这是我创建HashMap的一个字段:

private HashMap <String,HashSet<String>> userBuisness = new HashMap <String,HashSet<String>>();

正如@AndyTurner在评论中所说:

字段[1]是字符串,而不是哈希集。您可以使用新的HashSetArrays.asListfields[1]构建后者

但这段代码也存在其他问题。最好是这样重写,密切关注我更改的每一个小细节:

private Map<String, Set<String>> userBusiness = new HashMap<>();

...

String[] fields = output.split("\t");
userBusiness.put(fields[0], new HashSet<>(Collections.singletonList(fields[1])));

字段[1]是字符串,而不是哈希集。您可以使用新的HashSetArrays.asListfields[1]构建后者。Andy告诉过您如何在映射中插入这样的条目。但是为什么映射值需要HashSet类型?您的代码片段显示您只输入了一个字符串类型的值。@Seelenvirtuose这就是我的项目所要求的。您知道,我打赌代码是在一个循环中,如果输入是一个B,一个C,结果应该是{a=[B,C]},而不是这个代码给出的{a=[C]}。否则,为什么要将其设置为地图集,对吗?是的,它位于while循环中。直到文件有下一行
private Map<String, Set<String>> userBusiness = new HashMap<>();

...

String[] fields = output.split("\t");
userBusiness.put(fields[0], new HashSet<>(Collections.singletonList(fields[1])));