1 回答

TA贡献1818条经验 获得超8个赞
您可以将所有常量键存储在一个文件中,其中每一行包含一个键。然后您可以获得所有必需的密钥,例如:
List<String> requiredKeys = Files.lines(Paths.get(PATH_TO_FILE_WITH_KEYS))
.collect(Collectors.toList());
filter现在使用流方法获取带有所需键的地图:
Map<String, String> collect = mapRcvd.entrySet().stream() // get stream of map entries
.filter(entry -> requiredKeys.contains(entry.getKey())) // filter only such entries which has required key
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); // collect all filtered entries into new map
更多关于Collectors.toMap,javadoc
更新:虽然使用所需键获取地图可能看起来更紧凑,但您示例中的 for-loop withcontainsKey方法比contains. 您可能应该使用评论中留下的@Holger 建议
添加回答
举报