首页编程java编程java中iterator是什么?什么是迭代器 iterator

java中iterator是什么?什么是迭代器 iterator

编程之家 2023-10-10 114次浏览

大家好,今天给各位分享java中iterator是什么的一些知识,其中也会对什么是迭代器 iterator进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

java中iterator是什么?什么是迭代器 iterator

什么是迭代器 iterator

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

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

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

java中iterator是什么?什么是迭代器 iterator

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

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

Java中什么叫迭代器

迭代器(Iterator)

java中iterator是什么?什么是迭代器 iterator

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

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

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

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

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

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

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

迭代器应用:

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);

}

*/

JAVA中Iterator的具体作用

Iterator接口中一共有3中方法。

API中的方法摘要是这样的

booleanhasNext()

如果仍有元素可以迭代,则返回true。

Enext()

返回迭代的下一个元素。

voidremove()

从迭代器指向的集合中移除迭代器返回的最后一个元素(可选操作)。

举个例子给你看看

ArrayLista=newArrayList();//创建集合

a.add("aaa");//向集合中添加元素

a.add("bbb");//向集合中添加元素

a.add("ccc");//向集合中添加元素

Iteratort=a.itrator();//获取迭代器,用于取出集合的元素

System.out.print(t.hasNext());//输出的是true。hasNext()的返回值是boolean,是用于判断是否集合中还有下一个元素。

System.out.println(t.next());//输出的是aaa,可见next()方法返回的是集合的元素

t.remove();//移除迭代器返回的最后一个元素,上面只用到了next()方法一次,所以删除的是上面的aaa,就是说集合里已经没有aaa了。

上面的打印是为了看出效果才这么做的,实际上,真正用的时候是直接对返回值进行操作。而不是只进行打印输出。

java Iterator i=c.iterator();这句的意思是什么

这个深究起来很麻烦。

HashSet()的对象,并不像List接口的实现类一样是顺序存储,而是基于哈希算法,算出内存地址之后,再存储,所以HashSet()的对象,没法循环遍历,这句话的意思就是对HashSet进行迭代。

Iterator是一个迭代器,Iterator i=c.iterator()之后,可以使用i.nextO方法,进行循环。建议查看一下jdk帮助文档。

java.util.Iterator接口

java中iterator是什么和什么是迭代器 iterator的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

大学java用什么软件下载,大学生电脑都下什么软件 星汉灿烂为什么改名月升沧海(星汉灿烂为什么改名月升沧海了?)