public static void showList(List<Menu>allMenu) {
if (allMenu == null || allMenu.size() == 0 ) {
return
} else {
Iterator<Menu>iter = allMenu.iterator()
while(iter.hasNext()) {
Menu m = iter.next()
// 打印信息或将信息保存到一个公共集合中
System.out.println(m.getMenuId())
showList(m.getChilds())
}
}
}
public static void main(String[] args) {
// 把所有内容的集合传入
showList(all)
}
这样迭代:for(Iterator li=list.iterator()li.hasNext()){
Users user=(Users)li.next()
//下面嵌入你的网页代码
}
由于Java中数据容器众多,而对数据容器的操作在很多时候都具有极大的共性,于是Java采用了迭代器为各种容器提供公共的操作接口。使用Java的迭代器iterator可以使得对容器的遍历操作完全与其底层相隔离,可以到达极好的解耦效果。下面是一个使用迭代器遍历一个序列化和非序列化容器的例子。mport java.util.*
publicclass TestIterator {
public static void main(String[] args) {
//创建一个list 它是一个序列化的数据
List list=new ArrayList()
//创建一个map,它是一个非序列化的数据
Map map=new HashMap()
for(int i=0i<10i++){
//向容器中添加数据
list.add(new String("list"+i) )
map.put(i, new String("map"+i))
}
//序列化了的数据创建迭代器。
Iterator iterList= list.iterator()//List接口实现了Iterable接口
//进行遍历 如果容器中有下一个数据,就获取下一个数据并打印出来
while(iterList.hasNext()){
String strList=(String)iterList.next()
System.out.println(strList.toString())
}
//创建非序列化数据的迭代器,要先将其序列化
Iterator iterMap=map.entrySet().iterator()
//进行遍历 如果容器中有下一个数据,就获取下一个数据并打印出来
while(iterMap.hasNext()){
Map.Entry strMap=(Map.Entry)iterMap.next()
System.out.println(strMap.getValue())
}
}
}
这些都是一些基础的Java知识,在秒秒学的网站上查看资料。