📄 treehelper.java
字号:
package gov.gdlt.ssgly.taxweb.mbean.qxgl;
import java.util.ArrayList;
import java.util.Vector;
public class TreeHelper {
public TreeHelper() {
}
public static ArrayList convertData(ArrayList voData) {
ArrayList result = null;
Vector v = null;
TreeNodeObject treeNode = null;
for (int i = 0; i < voData.size(); i++) {
NodeValueObject vo = (NodeValueObject) voData.get(i);
//根节点的上级编号为null,或"",或0
if (vo.getParentId() == null || vo.getParentId().equals("") ||
vo.getParentId().equals("0")) {
if (result == null) {
result = new ArrayList();
}
/**保存信息对象*/
//ArrayList infoData = new ArrayList();
treeNode = new TreeNodeObject(vo, null);
/**保存本结点的子结点对象*/
//ArrayList nodeData = new ArrayList();
/**保存本结点*/
//infoData.add(vo.getID());
//infoData.add(vo.getName());
ArrayList tmp = findNextNodeVO(voData, vo.getId());
if (tmp != null) {
v = new Vector();
treeNode.setChildNodes(v);
for (int j = 0; j < tmp.size(); j++) {
v.add(tmp.get(j));
}
}
result.add(treeNode);
}
}
return result;
}
/**
* 递归构造子结点
* 递归找寻以父结点ID为参数的结点并加入到一个ArrayList中
* @param voData 寻找的ArrayList范围
* @param id 指定ID查找
* @return 返回父结点为指定ID的结点集合
*/
private static ArrayList findNextNodeVO(ArrayList voData, String id) {
ArrayList result = null;
TreeNodeObject treeNode = null;
Vector v = null;
for (int i = 0; i < voData.size(); i++) {
NodeValueObject vo = (NodeValueObject) voData.get(i);
if (vo.getParentId() != null && vo.getParentId().equals(id)) {
if (result == null) {
result = new ArrayList();
}
/**保存信息对象*/
//ArrayList infoData = new ArrayList();
treeNode = new TreeNodeObject(vo, null);
/**保存本结点的子结点对象*/
//ArrayList nodeData = new ArrayList();
/**保存本结点*/
//ArrayList allData = new ArrayList();
//infoData.add(vo.getID());
//infoData.add(vo.getName());
ArrayList tmp = findNextNodeVO(voData, vo.getId());
if (tmp != null) {
v = new Vector();
treeNode.setChildNodes(v);
for (int j = 0; j < tmp.size(); j++) {
v.add(tmp.get(j));
}
}
result.add(treeNode);
}
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -