java - 如何使用 java 8 流创建多个新的 Hashmap?

标签 java spring java-8 functional-programming

我想使用 java 8 流实现以下代码片段。任何答案都是值得赞赏的。我需要为相同的键“数量”设置不同的值。这样我就可以在循环内创建新的 HashMap 。它就像[{amount=100},{amount=200}]

List<String> data = Arrays.asList('', '', '');
List<Map<String,Object> finalList = new ArrayList();
for(String dataIterate : data) {
    Map<String,Object> map = new HashMap();
    map.put("amount",dataIterate);
    finalList.add(map);
}

最佳答案

这就是你所要求的吗

List<Map<String, String>> result = data.stream()
        .map(s -> Stream.of(s).collect(Collectors.toMap(s2 -> "amount", Function.identity())))
        .collect(Collectors.toList());

获取源中的每个元素,使用给定的常量键和该元素值创建一个Map。最后将它们收集到一个List

关于java - 如何使用 java 8 流创建多个新的 Hashmap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51302958/

相关文章:

Java 8 : How Lambda expression impacts

java - Android 服务需要始终运行(从不暂停或停止)

java - elasticsearch 将对象插入索引

java - 即使我提到了 mainClass 属性并且它就在它的 Nose 底下,Spring-boot maven 插件也无法找到 mainClass

java - tomcat应用程序未启动的maven项目错误

java - 读取 Spring RestTemplate 调用超时

java - 在 Java 中如何等待所有异步调用完成?

java - 关于如何并行化此处理的想法(Java 8 功能)?

java - 将对象数组转换为整数数组错误

java - 在 Android 上通过套接字接收实时音频数据