如何在java中读取递归列表
我无法读取项目的递归列表 我有一个类别树,每个类别都有子类,而子类又可以有子类(不知道有多少) 这是我的班级:如何在java中读取递归列表,java,android,list,class,recursion,Java,Android,List,Class,Recursion,我无法读取项目的递归列表 我有一个类别树,每个类别都有子类,而子类又可以有子类(不知道有多少) 这是我的班级: public class Category { public int HasChild = 0; public int level; public boolean isOpened = false; @ElementList(entry = "Category", required = false, empty = true, data = true,
public class Category {
public int HasChild = 0;
public int level;
public boolean isOpened = false;
@ElementList(entry = "Category", required = false, empty = true, data = true, inline = true)
private List<Category> childrenCategory;
@Attribute(required = false)
private String id;
@ElementList(entry = "Name", inline = true, required = false)
public List<Name> name;
public List<Category> getCategoy() {
return childrenCategory;
}
public void setCategoy(List<Category> categoy) {
childrenCategory = categoy;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public List<Name> getName() {
return name;
}
public void setName(List<Name> name) {
this.name = name;
}
@Override
public String toString() {
return "Category [childrenCategory=" + childrenCategory + ", id=" + id
+ "]";
}
}
这里是调用函数的地方,项目的初始步骤是:
object = category;
function(object);
我的问题是,我可以通过这种方式控制,只有在我想访问第二级时,事情才会是顶级的:
object=category.getCategoy().get(0);
功能(对象)
但这是不可能的,因为一切都必须是递归的,而不是手写的
我是否应该阅读第一篇文章,然后将项目迭代到下一个级别
帮助我,谢谢递归调用函数。这是代码
void function(Category cat) {
if (cat.getCategoy().size() > 0) {
for (Category iterable_element : cat.getCategoy()) {
log.i("Has "+cat.getCategoy().size() + " children.");
function(iterable_element); // again call it recursively
}
}
else {
log.i("No children.");
}
}
非常感谢你,你帮了我很多忙!
void function(Category cat) {
if (cat.getCategoy().size() > 0) {
for (Category iterable_element : cat.getCategoy()) {
log.i("Has "+cat.getCategoy().size() + " children.");
function(iterable_element); // again call it recursively
}
}
else {
log.i("No children.");
}
}