Карта слияния <String, List <String> Java 8 Stream

Я хотел бы объединить две карты с JAVA 8 Stream:

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

Я пытаюсь использовать эту реализацию:

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

Однако эта реализация создает только такой результат, как:

Map<String, List<Object>>

Если один ключ не содержится вmapGlobal, он будет добавлен как новый ключ с соответствующим списком строк. Если ключ продублирован вmapGlobal а такжеmapAddedоба списка значений будут объединены как:A = {1, 3, 5, 7} а такжеB = {1, 2, 4, 6} затемA ∪ B = {1, 2, 3, 4, 5, 6, 7}.

Ответы на вопрос(3)

Ваш ответ на вопрос