我有两个 Map,它们共享相同的键。
Map<Long/*JOIN.ID*/, Long/*Temp ID*/> tempIDsMap;
Map<Long/*JOIN.ID*/, Long/*Real ID*/> realIDsMap;
我想要获得的内容(可能使用Java 8 Stream API,避免使用循环)是将这些地图在
JOIN.ID
键上进行联接,以获得如下的新地图:Map<Long/*Temp ID*/. Long/*Real ID*/> realIDsByTempMap;
我有两个 Map,它们共享相同的键。
Map<Long/*JOIN.ID*/, Long/*Temp ID*/> tempIDsMap;
Map<Long/*JOIN.ID*/, Long/*Real ID*/> realIDsMap;
JOIN.ID
键上进行联接,以获得如下的新地图:Map<Long/*Temp ID*/. Long/*Real ID*/> realIDsByTempMap;
Collectors.toMap
:Map<Long,Long> realIDsByTempMap =
tempIDsMap.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getValue,
e -> realIDsMap.get(e.getKey())));
Map<Long, Long>
。那么在最终映射中选择哪个值呢(因为同一键可能有不同的值)?你想要创建Map<Long, List<Long>>
吗? - Shubhendu Pramanik