public class TreeUtil {
public static List<CTree>getTree(List<Tree> list){
List<CTree> tree= new ArrayList<CTree>();
List<CTree> parent= new ArrayList<CTree>();
List<CTree> chil =new ArrayList<CTree>();
if(list==null){
return tree;
}
for(Tree ca:list){
if(ca.getLeaf()==0){//取出所有根节点
CTree pt=new CTree();
pt.setId(ca.getId());
pt.setCid(ca.getCid());
pt.setCls(ca.getCls());
pt.setText(ca.getText());
parent.add(pt);
}else{//取出所有子节点
CTree ch=new CTree();
ch.setId(ca.getId());
ch.setCid(ca.getCid());
ch.setCls(ca.getCls());
ch.setText(ca.getText());
ch.setUrl(ca.getUrl());
ch.setLeaf(ca.getLeaf()==1?true:false);
chil.add(ch);
}
}
for(CTree pr:parent){
List<CTree> child= new ArrayList<CTree>();
for(CTree cd:chil){
if(pr.getCid()==cd.getCid()){
child.add(cd);
pr.setChildren(child);
}
}
tree.add(pr);
}
return tree;
}
}
package com.byd.entity;
import java.io.Serializable;
@SuppressWarnings("serial")
public class Tree implements Serializable{
private String text;
private int id;
private int leaf;
private String cls;
private String url;
private int cid;//类别ID
public Tree(){
}
/**
* @return the text
*/
public String getText() {
return text;
}
/**
* @param text the text to set
*/
public void setText(String text) {
this.text = text;
}
/**
* @return the cls
*/
public String getCls() {
return cls;
}
/**
* @param cls the cls to set
*/
public void setCls(String cls) {
this.cls = cls;
}
/**
* @return the cid
*/
public int getCid() {
return cid;
}
/**
* @param cid the cid to set
*/
public void setCid(int cid) {
this.cid = cid;
}
/**
* @return the leaf
*/
public int getLeaf() {
return leaf;
}
/**
* @param leaf the leaf to set
*/
public void setLeaf(int leaf) {
this.leaf = leaf;
}
/**
* @return the id
*/
public int getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(int id) {
this.id = id;
}
/**
* @return the url
*/
public String getUrl() {
return url;
}
/**
* @param url the url to set
*/
public void setUrl(String url) {
this.url = url;
}
}