java多层map嵌套取值,Java Stream 如何实现多层map嵌套

时间:2025-03-23 16:38:31

Class Template {

private int id;

private string type;

private int mapId;

private String name;

private int platId;

}

例如一个template的集合,要通过stream的方式转成三层的map嵌套结构,怎么实现?

比如:

{

"${type}": {

"${platId}": [

{

"id": "${mapId}",

"name": "${name}"

}

]

}

}

或者是:

{

"${type}": {

"${platId}":{

"id": "${mapId}",

"name": "${name}"

}

}

}

目前我能做的结果就是通过多层groupingBy来实现,但是在最后一层里的数据我没办法自定义,toMap和toList都不满足我的需求。

().collect((Template::getType,(Template::getPlatId, )));

当前的解决办法就是通过().forEach()来完成我的需求,但是我想知道有没有什么办法可以更简单的处理?### 问题描述

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?