private boolean hasChild();//是否有子类别
private List getChilds(Long categoryId);//取得子类别
现在想写一个函数,根据类别ID取得所有子类的ID,包括子类的子类,直到最底层,该怎么写,算法方面一直很弱,请高手赐教。
private List getChilds(Long categoryId);//取得子类别
现在想写一个函数,根据类别ID取得所有子类的ID,包括子类的子类,直到最底层,该怎么写,算法方面一直很弱,请高手赐教。
result.add(item);
Set subs = item.getSubItems();
if(subs!=null){
for (Iterator it = subs.iterator(); it.hasNext();) {
Item i = (Item) it.next();
listTree(result,i);
}
}
return result;
}
给个节点类。自己再扩展class Note {
private Object element;
private List<Note> childList; public Note(Object element, List<Note> childList) {
this.element = element;
this.childList = childList;
}
public Object getElement(){
return element;
}
public List<Note> getChildList(){
return childList;
}
}
private main()
{
Long categoryId=5;
List myList=new List();
getAllChilds(categoryId,myList);
}private boolean hasChild();//是否有子类别
private List getChilds(Long categoryId);//取得子类别
private void getAllChilds(Long categoryId,List myList)
{
if(new Item(categoryId).hasChild())
{
List myChilds=getChilds(categoryId);
for(int i=0;i<myChilds.size();i++)
{
myList.add(myChilds.get(i));
getAllChilds(myChilds.get(i).getCategoryId(),myList)
}
}
}