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;
}
posted @ 2024-11-12 20:38  狗艳艳花  阅读(0)  评论(0编辑  收藏  举报