我有两个地图,都共享相同的密钥。
Map<Long/*JOIN.ID*/, Long/*Temp ID*/> tempIDsMap;
Map<Long/*JOIN.ID*/, Long/*Real ID*/> realIDsMap;
我想获得的结果(也许使用Java 8 Stream API并避免循环)是在JOIN.ID
键上联接这些映射,以获得如下所示的新Map:
Map<Long/*Temp ID*/. Long/*Real ID*/> realIDsByTempMap;
答案 0 :(得分:4)
使用Collectors.toMap
:
Map<Long,Long> realIDsByTempMap =
tempIDsMap.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getValue,
e -> realIDsMap.get(e.getKey())));