概述
java ITerable和Iterator的区别如下:
1.Iterator是迭代器类,而Iterable是接口,只要实现该接口就可以使用foreach,进行迭代.
Iterable中封装了Iterator接口,只要实现了Iterable接口的类,就可以使用Iterator迭代器了。
2.集合Collection、List、Set都是Iterable的实现类,所以他们及其他们的子类都可以使用foreach进行迭代。
比如:(百度一小例子)
好多类都实现了Iterable接口,这样对象就可以调用iterator()方法。 一般都是结合着用,比如 HashMap类就实现了Iterable接口,而要访问或打印出Map中所有内容时, 就可以这样:
HashMap hashMap; Iterator iter = hashMap.iterator(); while(iter.hashNext()) { String s = iter.next(); }
3.Iterator中和核心的方法next(),hasnext(),remove(),都是依赖当前位置,如果这些集合直接实现Iterator,则必须包 括当前迭代位置的指针。当集合在方法间进行传递的时候,由于当前位置不可知,所以next()之后的值,也不可 知。 当实现Iterable则不然,每次调用都返回一个从头开始的迭代器,各个迭代器之间互不影响。
最后
以上就是拼搏小土豆为你收集整理的Java中Iterable和Iterator的区别的全部内容,希望文章能够帮你解决Java中Iterable和Iterator的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复