List<LinkedHashMap<String, String>>类型的数据转换为Map<String, List<String>>类型数据

news/2024/12/22 15:09:01/
import java.util.*;public class Main {public static void main(String[] args) {// 示例数据:List<LinkedHashMap>List<LinkedHashMap<String, String>> keyParamList = new ArrayList<>();LinkedHashMap<String, String> map1 = new LinkedHashMap<>();map1.put("key1", "value1");map1.put("key2", "value2");keyParamList.add(map1);LinkedHashMap<String, String> map2 = new LinkedHashMap<>();map2.put("key1", "value3");map2.put("key2", "value4");keyParamList.add(map2);LinkedHashMap<String, String> map3 = new LinkedHashMap<>();map2.put("key1", "value5");map2.put("key2", "value6");keyParamList.add(map3);// 转换为Map<String, List<String>>Map<String, List<String>> resultMap = keyParamList.stream().flatMap(map -> map.entrySet().stream()).collect(Collectors.groupingBy(Map.Entry::getKey,Collectors.mapping(Map.Entry::getValue, Collectors.toList())));// 输出结果System.out.println(resultMap);//输出结果:{key1=[value1, value5], key2=[value2, value6]}}
}

在这个示例中,我们首先创建了一个List<LinkedHashMap<String, String>>类型的示例数据keyParamList。然后,我们使用Stream API对keyParamList进行流操作。通过flatMap将每个LinkedHashMap转换为流,并使用groupingBy和Collectors.mapping对键进行分组并映射值为列表。最后,我们将结果存储在Map<String, List>类型的变量resultMap中,并打印输出结果。

请注意,这段代码假设keyParamList中的每个LinkedHashMap都具有相同的键,并且将这些键作为结果的Map的键,将对应的值收集到列表中作为值。如果实际情况不同,可能需要对代码进行适当的修改以满足你的需求。


http://www.ppmy.cn/news/1170185.html

相关文章

Python【list列表去重】

目录 要求&#xff1a; 将list中的重复数据去重&#xff0c;至少使用两种方案 方案一&#xff1a; 方案二&#xff1a; 要求&#xff1a; 将list中的重复数据去重&#xff0c;至少使用两种方案 方案一&#xff1a; 使用set &#xff0c;可以将list转换为set&#xff0…

蓝桥杯中级题目之组合(c++)

系列文章目录 数位递增数_睡觉觉觉得的博客-CSDN博客拉线开关。_睡觉觉觉得的博客-CSDN博客蓝桥杯中级题目之数字组合&#xff08;c&#xff09;_睡觉觉觉得的博客-CSDN博客 文章目录 系列文章目录前言一、个人名片二、描述三、输入输出以及代码示例1.输入2.输出3.代码示例 总…

Ubuntu系统下使用docker容器配置nginx并部署前端项目

1.下载 Nginx 镜像 命令 描述 docker pull nginx 下载最新版 Nginx 镜像 :2. 创建要挂载的宿主机目录 启动前需要先创建 Nginx 外部挂载的配置文件&#xff08; /home/nginx/conf/nginx.conf&#xff09; 之所以要先创建 , 是因为 Nginx 本身容器只存在 / etc/nginx 目录 ,…

动手学深度学习—使用块的网络VGG(代码详解)

目录 1. VGG块2. VGG网络3. 训练模型 1. VGG块 经典卷积神经网络的基本组成部分是下面的这个序列&#xff1a; 1.带填充以保持分辨率的卷积层&#xff1b; 2.非线性激活函数&#xff0c;如ReLU&#xff1b; 3.汇聚层&#xff0c;如最大汇聚层。 定义网络块&#xff0c;便于我…

c语言基础:L1-050 倒数第N个字符串

给定一个完全由小写英文字母组成的字符串等差递增序列&#xff0c;该序列中的每个字符串的长度固定为 L&#xff0c;从 L 个 a 开始&#xff0c;以 1 为步长递增。例如当 L 为 3 时&#xff0c;序列为 { aaa, aab, aac, ..., aaz, aba, abb, ..., abz, ..., zzz }。这个序列的倒…

UE5场景逐渐变亮问题

1、显示 -- 关闭眼部适应 2、项目设置 -- 关闭自动曝光 参考&#xff1a; 虚幻5/UE5 场景亮度逐渐变亮完美解决方法 - 哔哩哔哩

leetcode(2)栈

leetcode 155 最小栈 stack相当于栈&#xff0c;先进后出 存储全部栈元素 [-3,2,-1] min_stack,存储栈当前位置最小的元素 [-3,-3,-3] class MinStack:def __init__(self):self.stack []self.min_stack [math.inf]def push(self, x: int) :self.stack.append(x)self.min_sta…

Egg.js项目EJS模块引擎

1.介绍 灵活的视图渲染&#xff1a;使用 egg-view-ejs 插件&#xff0c;你可以轻松地在 Egg.js 项目中使用 EJS 模板引擎进行视图渲染。EJS 是一种简洁、灵活的模板语言&#xff0c;可以帮助你构建动态的 HTML 页面。 内置模板缓存&#xff1a;egg-view-ejs 插件内置了模板缓存…