×

Java Iterator(迭代器)

前端技术网 前端技术网 发表于2024-01-20 06:09:40 浏览1498 评论0

抢沙发发表评论

一、关于java iterator的next()方法的用法

next()是java迭代器类(Iterator)的方法,获得当前游标指向的下一个元素,详细说明和应用如下:

1、迭代器(Iterator)介绍

Java Iterator(迭代器)

迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。

Java中的Iterator功能比较简单,并且只能单向移动:

(1)使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。

(2)使用next()获得序列中的下一个元素。

(3)使用hasNext()检查序列中是否还有元素。

(4)使用remove()将迭代器新返回的元素删除。

Java Iterator(迭代器)

Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。

2、迭代器应用:

list l= new ArrayList();

l.add("aa");

l.add("bb");

l.add("cc");

for(Iterator iter= l.iterator(); iter.hasNext();){

String str=(String)iter.next();

System.out.println(str);

}

/*迭代器用于while循环

Iterator iter= l.iterator();

while(iter.hasNext()){

String str=(String) iter.next();

System.out.println(str);

}

*/

二、什么是迭代器 iterator

迭代器(iterator)有时又称游标(cursor)是程序设计的软件设计模式,可在容器(container,例如链表或阵列)上遍访的接口,设计人员无需关心容器的内容。

为了方便的处理**中的元素,Java中出现了一个对象,该对象提供了一些方法专门处理**中的元素.

例如删除和获取**中的元素.该对象就叫做迭代器(Iterator).

对 Collection进行迭代的类,称其为迭代器。还是面向对象的思想,专业对象做专业的事情,迭代器就是专门取出**元素的对象。

但是该对象比较特殊,不能直接创建对象(通过new),该对象是以内部类的形式存在于每个**类的内部。

三、Java iterator()和next()原理用法

如果使用 Iterator来遍历**中元素,一旦不再使用 List转而使用‍TreeSet来组织数据,那遍历元素的代码不用做任何修改,如果使用 for来遍历,那所有遍历此**的算法都得做相应调整。

比如以后你的代码改了,list不在是list接口了,而是set接口(没有get(i)方法),

这时你的代码改动就大了,for里面全部要重写,而你老大的代码几乎不用任何修改,当然这也牺牲了部分性能‍‍

参考资料:http://bbs.csdn.net/topics/250025827

*****************************************希望帮助到你!************************************************

如果我的回答对你有帮助,

请点击我的回答下方【选为满意答案】按钮

谢谢!

四、java中什么叫迭代,什么叫迭代器

迭代:

是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。此过程的每一次结果,都是由对前一次所得结果施行相同的运算步骤得到的。例如利用迭代法*求某一数学问题的解。

对计算机特定程序中需要反复执行的子程序*(一组指令),进行一次重复,即重复执行程序中的循环,直到满足某条件为止,亦称为迭代。

迭代器(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进行遍历的。

参考资料:百度百科——迭代器

参考资料:百度百科——迭代

OK,关于Java Iterator(迭代器)和什么是迭代器 iterator的内容到此结束了,希望对大家有所帮助。