Merge Map <String, Liste <String> Java 8 Stream

Ich möchte zwei Map mit JAVA 8 Stream zusammenführen:

Map<String, List<String>> mapGlobal = new HashMap<String, List<String>>();
Map<String, List<String>> mapAdded = new HashMap<String, List<String>>();

Ich versuche, diese Implementierung zu verwenden:

mapGlobal = Stream.of(mapGlobal, mapAdded)
                .flatMap(m -> m.entrySet().stream())
                .collect(Collectors.groupingBy(Map.Entry::getKey,
                        Collectors.mapping(Map.Entry::getValue,        
                                           Collectors.toList())
                ));

Diese Implementierung erzeugt jedoch nur ein Ergebnis wie:

Map<String, List<Object>>

Wenn ein Schlüssel nicht im @ enthalten imapGlobal, es würde als neuer Schlüssel mit der entsprechenden Liste der Zeichenfolge hinzugefügt. Wenn der Schlüssel in @ dupliziert imapGlobal undmapAdded, beide Wertelisten werden zusammengeführt als:A = {1, 3, 5, 7} undB = {1, 2, 4, 6} dannA ∪ B = {1, 2, 3, 4, 5, 6, 7}.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage