Interseção de dois mapas
Escreva um método que receba dois mapas diferentes. Em cada um, mantenha apenas as chaves que existem em ambas as entradas, preservando os valores originais daquela entrada. Retorne os dois mapas filtrados na mesma ordem dos argumentos.
Exemplos
Program.intersection(Map.of("a", 5, "b", 13, "c", 7), Map.of("b", 5, "c", 8, "d", 91, "e", 99)); // new Map[]{Map.of("b", 13, "c", 7), Map.of("b", 5, "c", 8)}
Program.intersection(Map.of("a", 5, "b", 13, "c", 7), Map.of("c", 9, "d", 8)); // new Map[]{Map.of("c", 7), Map.of("c", 9)}
Program.intersection(Map.of("a", 1, "b", 34), Map.of("c", 9, "d", 8)); // new Map[]{Map.of(), Map.of()}Observações
Se nenhuma chave for compartilhada, retorne dois mapas vazios.