举个小例子 便于楼主理解
import javautilArrayList;
import javautilIterator;
public class Test {
public static void main(String[] args) {
ArrayList list = new ArrayList();
listadd(1);
listadd(2);
listadd(3);
listadd(4);
listadd(5);
Iterator it = listiterator();//通用的迭代器iterator,把list放入it中
while (ithasNext()) {//判断是否有下一个元素
Integer i = (Integer)itnext();//强制转型
Systemoutprintln(i);//循环输出
}
}
}
由于Java中数据容器众多,而对数据容器的 *** 作在很多时候都具有极大的共性,于是Java采用了迭代器为各种容器提供公共的 *** 作接口。使用Java的迭代器iterator可以使得对容器的遍历 *** 作完全与其底层相隔离,可以到达极好的解耦效果。下面是一个使用迭代器遍历一个序列化和非序列化容器的例子。
mport javautil;
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++){
//向容器中添加数据
listadd(new String("list"+i) );
mapput(i, new String("map"+i));
}
//序列化了的数据创建迭代器。
Iterator iterList= listiterator();//List接口实现了Iterable接口
//进行遍历 如果容器中有下一个数据,就获取下一个数据并打印出来
while(iterListhasNext()){
String strList=(String)iterListnext();
Systemoutprintln(strListtoString());
}
//创建非序列化数据的迭代器,要先将其序列化
Iterator iterMap=mapentrySet()iterator();
//进行遍历 如果容器中有下一个数据,就获取下一个数据并打印出来
while(iterMaphasNext()){
MapEntry strMap=(MapEntry)iterMapnext();
Systemoutprintln(strMapgetValue());
}
}
}
这些都是一些基础的Java知识,在秒秒学的网站上查看资料。
java中将list中的一维数组中的元素取出需要2步。第一步:获取list的迭代器,将数组从迭代器中遍历取出:第二部:对取出的数组进行遍历,取出数组中存储的元素。
java的list集合中只能存储引用型变量,不能存储基本类型的变量。所以当list存储数组时,会将数组本身存入集合,而不是存储数组中的元素。
以上就是关于java迭代器的使用方法全部的内容,包括:java迭代器的使用方法、在Java中的迭代器有什么作用啊、java中如何将list中的的一维数组的元素输出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)