Java代码实现行列转换
本代码想要达到的效果
测试完整代码如下(copy直接运行):
public class TestConvert {
public static void main(String[] args) {
ArrayList<Attribute> sourceList = new ArrayList<>();
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
sourceList.add(new Attribute("name"+i, "value"+j, "code"+i, "data"+j));
}
}
ArrayList<HashMap<String, String>> maps = new ArrayList<>();
HashMap<String, Map<String,String>> temp = new HashMap<>();
sourceList.forEach(item->{
String name = item.getName();
String code = item.getCode();
String value = item.getValue();
String data = item.getData();
if(!temp.containsKey(name)){
HashMap<String, String> nodeMap = new HashMap<>();
nodeMap.put("cellName",name);
nodeMap.put("cellCode",code);
nodeMap.put(data,value);
temp.put(name,nodeMap);
maps.add(nodeMap);
}else {
HashMap<String, String> map = (HashMap<String, String>) temp.get(name);
map.put(data,value);
}
});
System.out.println(maps);
}
}
@Data
@AllArgsConstructor
@NoArgsConstructor
class Attribute{
private String name;
private String value;
private String code;
private String data;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!