【发布时间】:2018-05-23 07:37:13
【问题描述】:
我有以下值对象的 java 数组,格式如下
[
{grandParent1,parent1,child1},
{grandParent1,parent1,child2},
{grandParent1,parent2,child3},
{grandParent2,parent1,child4},
{grandParent2,parent2,child5},
{grandParent2,parent3,child6},
]
需要转换成如下的层次结构
{
grandParent1
{
parent1
{
child1{
},
child2{
}
},
parent2
{
child3{
}
}
},
grandParent2
{
parent1
{
child4{
}
},
parent2
{
child5{
}
},
parent3
{
child6{
}
}
}
}
我们有对象类的平面结构值,具有如下属性。
public class TestVO {
private String grandParent;
private String parent;
private String child;
public String getGrandParent() {
return grandParent;
}
public void setGrandParent(String grandParent) {
this.grandParent = grandParent;
}
public String getParent() {
return parent;
}
public void setParent(String parent) {
this.parent = parent;
}
public String getChild() {
return child;
}
public void setChild(String child) {
this.child = child;
}
}
请提出一些高效且性能更好的逻辑,以将 java 对象中的平面结构转换为层次结构。
更新 我在每个祖父母、父母和孩子级别都有更多的字段。我们可以在逻辑中使用它吗?请找到以下更新对象的简短形式。这里的 grandParentId、parentId 和 childId 在每个级别都是唯一的。
public class TestVO {
private String grandParentId;
private String grandParentFirstName;
private String grandParentLastName;
private String parentId;
private String parentFirstName;
private String parentLastName;
private String childId;
private String childFirstName;
private String childLastName;
}
【问题讨论】:
标签: java arrays algorithm object data-structures