java - 通过流从其他 map 收集 map

标签 java dictionary java-8 functional-programming java-stream

我有这样的代码:

Map<Integer, Settings> operatorsSettings = new HashMap<>();
operators.forEach((operator, codeTypes) -> operatorsSettings.put(operator, mapper.convertValue(codeTypes.get(SETTINGS), Settings.class)));
return operatorsSettings;

我写了它,但我想知道。是否可以在不创建新 map 的情况下编写它。像这样的东西(不正确的代码):

return operators.entrySet().stream()
        .collect(entry -> Collectors.toMap(entry.getKey() , mapper.convertValue(entry.getValue().get(SETTINGS), Settings.class)));

最佳答案

有可能,你只是犯了一个小语法错误......

return operators.entrySet().stream().collect(Collectors.toMap(entry -> entry.getKey() , mapper.convertValue(entry.getValue().get(SETTINGS), Settings.class)));

关于java - 通过流从其他 map 收集 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57728260/

相关文章:

java - XML 中的 UI 布局和元素

java - 如何在应用程序类中定义一个bean

java-8 - Java 8 使用流和过滤器将 Map 的值检索到数组中

java - 为什么 lambda 中使用的局部变量必须是最终的或实际上是最终的?

python - 从值中获取键(值位于列表中)

java - 嵌套 map 上的流

java - 用于 AsyncHttpClient 的 RestTemplate

Java如何动态读取日期

dictionary - 关于 Golang 编程语言中的 Map

arrays - 我将如何分离 JSON 字典值并将它们放入 Swift 数组中?