kwj

走越远,路越艰!

常用链接

统计

最新评论

某种类型的树目录,如新闻

public List<Catalog> getCatalogListByTypename(String typename)
    {
        List<Catalog> catalogList=new ArrayList<Catalog>();
        List<Catalog> rootCatalogList=getRootCatalogList(); //一级目录
        for(Catalog catalog:rootCatalogList)
        {
            catalogList.addAll(getCatalogListByTypename2(catalog,typename));
        }
        return catalogList;
    }
    public List<Catalog> getCatalogListByTypename2(Catalog catalog,String typename)
    {
        List<Catalog> nodeList=new ArrayList<Catalog>();
        List<Catalog> childCatalogList=new ArrayList<Catalog>();
        for(Catalog childCatalog:catalog.getChildCatalogList())
        {
            if(childCatalog.getTypename().compareTo(typename)==0
            &&childCatalog.getChildCatalogList().size()==0)
                childCatalogList.add(childCatalog);
            else if(childCatalog.getChildCatalogList().size()!=0)
                childCatalogList.addAll(getCatalogListByTypename2(childCatalog,typename));
        }
        if(childCatalogList.size()>0)
        {
            nodeList.add(catalog);
            nodeList.addAll(childCatalogList);
        }
        else{
            if(catalog.getTypename().equals(typename))
                nodeList.add(catalog);
        }
        return nodeList;
    }

posted on 2008-01-17 14:39 木剑 阅读(195) 评论(0)  编辑  收藏 所属分类: java