javalist 迭代(递归)?

Python016

javalist 迭代(递归)?,第1张

要用递归

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知识,在秒秒学的网站上查看资料。