Map::merge
принимает BiFunction
в качестве последнего аргумента для объединения значений, где есть столкновение клавиш.
Вам нужно будет найти способ слияния двух, заданных Module's
, а не String
.
другими словами, это:
m1.merge(e.getKey(),e.getValue(),(Module l, Module r) -> ...);
С другой стороны, вы можете упростить свой код до:
m2.forEach((k, v) -> m1.merge(k, v, (Module l, Module r) -> ...));