如果不使用BiMap的.inverse()函数,你会如何进行反向映射?
我得到了:
public static Map<String, Set<String>> reverseMapping(Map<String, String> mapping)
我试过这样的事,但没有把我带到任何地方。
Map <String, Set<String>> remap = new HashMap<String, Set<String>>();
for (String name : mapping.keySet()) {
String color = mapping.get(name);
if(remap.containsKey(color)){
...;
}
else{
...
}
}
return remap;
}
答案 0 :(得分:1)
你不是那么遥远
public static Map<String, Set<String>> reverseMapping(Map<String, String> mapping)
{
// slight change in the next line
Map <String, Set<String>> remap = new HashMap<String, Set<String>>();
for (String name : mapping.keySet()) {
String color = mapping.get(name);
// Until here its ok, see comment below
}
// added the return
return remap;
}
现在,您必须检查重新映射是否已包含带有键 颜色的设置。如果是这样,请将 name 添加到其中。如果不是,您需要创建一个新的Set,将 name 添加到它,并将新的集合放入 remap
希望这有帮助