⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treehelper.java

📁 以前做的一个j2ee的项目
💻 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 + -