您将需要遍历映射中的条目,然后,由于值存储在集合中,因此需要遍历该集合。您将需要检查每个键的结果图,并在键不存在时创建一个新的键集。
public static Map<String, Set<String>> reverse (Map <String, Set<String>> graph) { Map<String, Set<String>> result = new HashMap<String, Set<String>>(); for (Map.Entry<String, Set<String>> graphEntry: graph.entrySet()) { for (String graphValue: graphEntry.getValue()) { Set<String> set = result.get(graphValue); if (set == null) { set = new HashSet<String>(); result.put(graphValue, set); } set.add(graphEntry.getKey()); } } return result;}


