我想在我的页面中显示一个树视图。为此,我将有一个 List 对象。列表对象将包含更多列表对象。我不知道我会得到多少嵌套级别。所以请告诉我,如何浏览列表。
我要显示的示例数据是
教育
- 数学
- 三角学
- 科学
- 物理
- 核物理
- 化学
- 物理
- 社会的
- 数学
运动的
- 蟋蟀
- 足球
- 技术
- 手机
- 电脑
- 笔记本电脑
- 个人电脑
我想在我的页面中显示一个树视图。为此,我将有一个 List 对象。列表对象将包含更多列表对象。我不知道我会得到多少嵌套级别。所以请告诉我,如何浏览列表。
我要显示的示例数据是
教育
运动的
您需要一个递归方法,如下所示:
void printList(Collection myList) {
for(Object o : myList) {
if (Collection.class.isAssignableFrom(o.getClass())) {
printList((Collection)o);
}
else {
print o;
}
}
}
您应该使用递归函数:
void display(Object item) {
print(item);
if (item instanceof List)
for (Object itemInList: (List) list) {
display(itemInList);
}
}
}
如有必要,您可以使用级别,例如缩进:
void printItem(Object item, int level) {
for (int i=0; i<level; i++) System.out.print(" ");
System.out.println(item);
}
void display(List list, int level) {
printItem(list, level);
if (item instanceof List)
for (Object itemInList: (List) list) {
display(itemInList, level+1);
}
}
}
display(topLevelList, 0);