import java.util.ArrayList;
import java.util.List;
public class Area {
private String value;
private String parentValue;
private String label;
private List<Area> children = new ArrayList<Area>();;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getParentValue() {
return parentValue;
}
public void setParentValue(String parentValue) {
this.parentValue = parentValue;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public List<Area> getChildren() {
return children;
}
public void setChildren(List<Area> children) {
this.children = children;
}
@Override
public String toString() {
return "Area [value=" + value + ", parentValue=" + parentValue + ", label=" + label + ", children=" + children
+ "]";
}
}
/**
* 获取父节点菜单
* @param treesList 所有树菜单集合
* @return
*/
public final static Area getZtree(List<Area> treesList){
long time = new Date().getTime();
Map<String ,Area> MapZtree= new HashMap<String ,Area>();
Area root=null;
for (Area mt : treesList) {
MapZtree.put(mt.getValue(), mt);
}
for (String key:MapZtree.keySet())
{
Area nodeData = MapZtree.get(key);
//主键是空的则为根目录 根据自己情况定义根目录
if (nodeData.getParentValue().equals("000000")) {
root = nodeData;
}
else
{
//根据该目录的父节点组合其子节点集合
Area zTreeDataInfo =MapZtree.get(nodeData.getParentValue());
zTreeDataInfo.getChildren().add(nodeData);
}
}
long time1 = new Date().getTime();
System.out.println(time1-time+"花了多少毫秒");
return root;
}