如何在java中使用lambda表达式添加映射

如何在java中使用lambda表达式添加映射,java,lambda,Java,Lambda,我想在java中使用lambda表达式将两个映射添加到第三个映射中。 下面是我的代码。有人能告诉我怎么做吗 我想将以上两个映射转换为第三个映射,如Mapurls=repo+data 请给我建议解决方案。迭代每个键的值并将其添加到finalMap中应该可以- Map<String, String> repo = TestRailReader.appendPathToUrl(urlRepo, CoreKeywords.REPO.name()); Map<String, String

我想在java中使用lambda表达式将两个映射添加到第三个映射中。 下面是我的代码。有人能告诉我怎么做吗

我想将以上两个映射转换为第三个映射,如Mapurls=repo+data


请给我建议解决方案。

迭代每个键的值并将其添加到finalMap中应该可以-

Map<String, String> repo = TestRailReader.appendPathToUrl(urlRepo, CoreKeywords.REPO.name());
Map<String, String> data = TestRailReader.appendPathToUrl(urlData, CoreKeywords.DATA.name());
Map<String, String> mergedMap = new HashMap<>();
repo.forEach(mergedMap::put);
data.forEach(mergedMap::put);

尽管注释中@Emax建议的解决方案更适合需要合并的情况。-

当您有一个重复的键时会发生什么?您可以迭代两个映射:repo.forEachkey,value->mapurls.putkey,value;和data.forEachkey,value->mapurls.putkey,value;如果您在repo和data中有相同的密钥,那么数据的值将被存储。请看这里:@oliv37这有什么好处?@bradimus没事,他想使用lambda表达式。顺便说一句,您可以编写repo.forEachmapurls::put;您最好调用Map.putAll并让Map决定如何循环。