在Java中的迭代器有什么作用啊?
1个回答
展开全部
由于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=0;i<10;i++){
//向容器中添加数据
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知识,在秒秒学的网站上查看资料。
mport java.util.*;
publicclass TestIterator {
public static void main(String[] args) {
//创建一个list 它是一个序列化的数据
List list=new ArrayList();
//创建一个map,它是一个非序列化的数据
Map map=new HashMap();
for(int i=0;i<10;i++){
//向容器中添加数据
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知识,在秒秒学的网站上查看资料。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询