有一个表示“组”的JavaBeanpublic class Group{
private String id;
private String parentId;//父ID
public String getId(){return id;}
public void setId(String id){this.id=id;}
public String getParentId(){return parentId;}
public void setParentId(String parentId){this.parentId=parentId;}
}
把若干个这样的JavaBean放入一个ArrayList<Group>里
现在我想写一个递归方法,传入一个参数id,也就是一个组的id,然后遍历这个list,返回这个组的所有子组,以及子组的子组,也就是说返回所给组的所有子孙这个算法应该怎么写?请大侠们指教!
private String id;
private String parentId;//父ID
public String getId(){return id;}
public void setId(String id){this.id=id;}
public String getParentId(){return parentId;}
public void setParentId(String parentId){this.parentId=parentId;}
}
把若干个这样的JavaBean放入一个ArrayList<Group>里
现在我想写一个递归方法,传入一个参数id,也就是一个组的id,然后遍历这个list,返回这个组的所有子组,以及子组的子组,也就是说返回所给组的所有子孙这个算法应该怎么写?请大侠们指教!
解决方案 »
- 关于java2核心技术??java核心技术??
- 关于用Registry.jar操作windows注册表的问题,大家来帮我接触这个疑惑吧!!
- 参与读取网页文件的一个奇怪的问题
- JDBC访问SQLServer出现:java.lang.NullPointerException问题???
- 在程序中如何保证只有一个connection呢?
- g.drawString()多行显示问题?
- java 串口程序eclipse和控制台都正常,用Fat jar打包后运行jar串口打不开
- 谁有JAVA在VasulAge下应用的计算器程序!(初学者)
- struts中文问题请教
- java IO 的类太复杂了,我到底该用哪些啊?
- 如何解决java.util.ConcurrentModificationException
- byte[]数组怎么存放127~255之间的整数的?
import java.util.List;public class Test
{
public static void main(String[] args)
{
Group g1 = new Group(1,0);
Group g2 = new Group(2,1);
Group g3 = new Group(3,2);
List<Group> list = new ArrayList<Group>();
list.add(g1);
list.add(g2);
list.add(g3);
Test.seach(0, list);
}
public static void seach(Integer indexId,List<Group> list){
for (Group group : list)
{
if(group.getParentId() == indexId){
System.out.println(group.getId());
seach(group.getId(), list);
}
}
}
}class Group{
private Integer id;
private Integer parentId;//父ID
public Group(Integer id, Integer parentId)
{
this.id = id;
this.parentId = parentId;
}
public Integer getId()
{
return id;
}
public void setId(Integer id)
{
this.id = id;
}
public Integer getParentId()
{
return parentId;
}
public void setParentId(Integer parentId)
{
this.parentId = parentId;
}
}
主要是查group的parentid有没有等于其他group的id,有的话就开始递归,终止条件当然就是parentid不等于其他的id