迭代:
是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。此过程的每一次结果,都是由对前一次所得结果施行相同的运算步骤得到的。例如利用迭代法*求某一数学问题的解。
对计算机特定程序中需要反复执行的子程序*(一组指令),进行一次重复,即重复执行程序中的循环,直到满足某条件为止,亦称为迭代。
迭代器(Iterator)模式:
又叫做游标模式,它的含义是,提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。
注意:Java的集合框架的集合类,有的时候也称为容器。
从定义上看,迭代器是为容器而生,它本质上就是一种遍历的算法。因为容器的实现千差万别,很多时候不可能知道如何去遍历一个集合对象的元素。Java为我们提供了使用迭代的接口,Java的所有集合类丢失进行迭代的。
简单的说,迭代器就是一个接口Iterator,实现了该接口的类就叫做可迭代类,这些类多数时候指的就是java.util包下的集合类。
总结:
迭代器,提供一种访问一个集合对象各个元素的途径,同时又不需要暴露该对象的内部细节。java通过提供Iterator和Iterable俩个接口来实现集合类的可迭代性,迭代器主要的用法是:首先用hasNext()作为循环条件,再用next()方法得到每一个元素,最后在进行相关的操作。
扩展资料
首先,创建了一个List的集合对象,并放入了俩个字符串对象,然后通过iterator()方法得到迭代器。iterator()方法是由Iterable接口规定的,ArrayList对该方法提供了具体的实现,在迭代器Iteartor接口中,有以下3个方法:
1、hasNext() 该方法英语判断集合对象是否还有下一个元素,如果已经是最后一个元素则返回false
2、next() 把迭代器的指向移到下一个位置,同时,该方法返回下一个元素的引用
3、remove() 从迭代器指向的Collection中移除迭代器返回的最后一个元素,该操作使用的比较少。
注意:从Java5.0开始,迭代器可以被foreach循环所替代,但是foreach循环的本质也是使用Iterator进行遍历的。
参考资料:百度百科——迭代器
参考资料:百度百科——迭代
迭代器是一种对象,它能够用来遍历STL容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上象迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。 迭代器提供一些基本操作符:*、++、==、!=、=。这些操作和C/C++“操作array元素”时的指针接口一致。不同之处在于,迭代器是个所谓的smart pointers,具有遍历复杂数据结构的能力。其下层运行机制取决于其所遍历的数据结构。因此,每一种容器型别都必须提供自己的迭代器。事实上每一种容器都将其迭代器以嵌套的方式定义于内部。因此各种迭代器的接口相同,型别却不同。这直接导出了泛型程序设计的概念:所有操作行为都使用相同接口,虽然它们的型别不同。
讲解的是Java增强,重点讲解的是享元模式,增强的for循环的本质就是迭代器,同时还讲解了迭代器遍历集合的方式。
通俗点说 叫 一个个数过去,
实现这样一个个数过去功能的东西,叫迭代器。
java迭代器 较多使用在容器中,如数组链表 ArrayList(反正就是能装东西的玩意儿)
举个例子:
//我们先往链表中装东西
ArrayList a = new ArrayList();
a.add("东西1");
a.add("东西2");
//从链表中取东西怎么办呢,自然就用到了迭代器
//用法是这样的
Iterator iter = a.iterator() ; //iter迭代器对象,可以用它来数了
while(iter.hasNext()){ //先往左数,如果有东西就执行{}里的语句
String m = (String)iter.next(); //数到什么就拿出来 赋值给m
System.out.println(m); //拿出m用一下,即打印
}
改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上象迭代器的东西都可以叫做迭代器。然而迭代器有
很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。
说的简单点,就是对容器中的元素进行遍列,每次取出一个元素,然后对元素进行操作。
比如说这样一个例子
ArrayList< String > arr = new ArrayList< String >();
Iterator it = arr.iterator();
while( it .hasNext() ){
String temp=it.next() ;
System.out.print(temp);//输出从数组中取出的元素。
}