Como trocar valores e chaves de arrayMap em Java
Estou tendo um pouco de dificuldade para reverter um determinado mapa e armazenar suas chaves e valores invertidos em outro mapa. Eu tenho um protótipo de método da seguinte forma:
public static Map<String, Set<String>> reverse (Map <String, Set<String>> graph);
Então, se eu tiver chaves de amostra para o gráfico direcionado, tais que:
{c -> arraySet{f, e}}
{b -> d}
{a -> arraySet{c, b}}
{d -> g}
{e -> d}
{f -> arraySet{g, d}}
Eu preciso efetivamente inverter este gráfico para que em vez de b -> d eu tenha d -> b.
Eu acho que tudo isso requer é para mim é trocar os valores e chaves no gráfico original e adicioná-los ao reverseMap. Suponho que eu poderia percorrer cada conjunto de valores para uma determinada chave no gráfico e, em seguida, armazená-los em uma lista.
Infelizmente, estou tendo problemas para implementar isso e pensar nisso. Eu realmente aprecio um empurrão na direção certa.