迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。以上引用百度的内容
迭代器的创建和使用:利用iterator接口创建迭代器,位于java.util包下。有三个方法:
分别是1.hasNext():如果仍有元素可以迭代,返回true.
2.next():返回迭代的下一个元素。
3.remove():从迭代器指向的collection中移除迭代器返回的最后一个元素(可选扣作)
ListIterator接口继承了Iterator接口,下面创建一个listiteratorDome类,创建ArrayList对象,然后打印集合中元素的位置等信息
----code----------------------
public static void Iterator1()
{
ArrayList <Integer>array=new ArrayList<Integer>();//创建一个ARRAYLIST,其中能够保存数据类型是INTEGER
Collections.addAll(array, 1,2,3,4,5,6);//用Collections类中的工具方法addAll()向集合中增加元素
System.out.println("集合中的元素"+array);
ListIterator<Integer> iterator=array.listIterator();//用无参数的方法得到迭代器的对像
boolean hasNext=iterator.hasNext();//判断是否有下一个元素
System.out.println("是否有下一个元素"+hasNext);
boolean hasPrevious=iterator.hasPrevious();//判断是否具有前一个元素
System.out.println("集合是否具有前一个无素"+hasPrevious);
int next=iterator.next();
System.out.println("下一个元素是"+next);
int nextindex=iterator.nextIndex();
System.out.println("集合的下一个元素的索引"+nextindex);
int previous=iterator.previous();
System.out.println("集合的前一个元素"+previous);
}
------结果如下------
集合中的元素[1, 2, 3, 4, 5, 6]
是否有下一个元素true
集合是否具有前一个无素false
下一个元素是1
集合的下一个元素的索引1
集合的前一个元素1