我有以下设置:
Map<Instant, String> items;
...
String renderTags(String text) {
// Renders markup tags in a string to human readable form
}
...
<?> getItems() {
// Here is where I need help
}
我的问题是,作为 items
映射值的字符串是用标签标记的。我希望 getItems()
返回所有项目,但使用 renderTags(String)
方法解析字符串。像这样的东西:
// Doesn't work
items.entrySet().stream().map(e -> e.setValue(renderTags(e.getValue())));
最有效的方法是什么?
最佳答案
如果你想要一个 Map
作为结果:
Map<Instant, String> getItems() {
return items.entrySet()
.stream()
.collect(Collectors.toMap(
Map.Entry::getKey,
e -> renderTags(e.getValue())));
}
关于Java 8 : Change the values of an EntrySet stream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31131984/