社区
Java SE
帖子详情
有关Iterator的一个问题没懂。
lq171599
2018-08-19 12:15:38
这里面c.iterator();是直接意思,没看懂是直接调用接口?
...全文
371
10
打赏
收藏
有关Iterator的一个问题没懂。
这里面c.iterator();是直接意思,没看懂是直接调用接口?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
SwTesting
2018-08-21
打赏
举报
回复
1、c是ArrayList类的实例对象,ArrayList这个类里面有一个iterator()方法,这个iterator()方法返回值类型是Iterator<E>。
2、为什么要调iterator()方法呢,主要是为了输出ArrayList这个集合中的值,输出集合的方法,一般是用foreach语句或者调用iterator()这个方法。
3、
iterator()方法返回值类型是Iterator<E>,所以对象类型Iterator
,这个Iterator<E>接口里面有hasNext()方法和forEachRemaining方法。这时就可以调用Iterator<E>的这两个方法,输出集合内容了。
lyx_yixiao
2018-08-21
打赏
举报
回复
iterator() 是集合的迭代器,是一个方法,直接调用的
ccs12343
2018-08-20
打赏
举报
回复
去看java api Collection类里的 iterator方法
Iterator<E> iterator()
返回在此 collection 的元素上进行迭代的迭代器。关于元素返回的顺序没有任何保证(除非此 collection 是某个能提供保证顺序的类实例)。
指定者:
接口 Iterable<E> 中的 iterator
返回:
在此 collection 的元素上进行迭代的 Iterator
希望采纳
not_found_404_
2018-08-20
打赏
举报
回复
c.iterator(); 是java中迭代器的意思。。。不是直接的意思
都已到中年
2018-08-20
打赏
举报
回复
迭代器(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);
}
*/
复制代码
Iterator的接口定义:
public interface Iterator {
boolean hasNext();
Object next();
void remove();
}
使用: Object next():返回迭代器刚越过的元素的引用,返回值是Object,需要强制转换成自己需要的类型
boolean hasNext():判断容器内是否还有可供访问的元素
void remove():删除迭代器刚越过的元素
迭代使用方法:(迭代其实可以简单地理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类)
for(Iterator it = c.iterator(); it.hasNext(); ) {
Object o = it.next();
//do something
}
verejava
2018-08-20
打赏
举报
回复
Java 集合 之 Iterator 迭代器
http://www.verejava.com/?id=17159874583439
whyuf_go
2018-08-20
打赏
举报
回复
就是把所有实现Collection接口的类可以转化成一个迭代器(说白了实质就是一个list一样的存在),你可以直接使用Iterator的方法去操作这个类.
比如说 list set等 .
这两个都可以直接转化成iterator,然后使用 remove 或者next 方法去操作.
但是值得注意的是 如果转化为iterator后,对于之前的list 或者set是不能进行操作的.
如果进行操作会报错的!
不忘初心,方能秃头
2018-08-20
打赏
举报
回复
将c集合的数据放入了迭代器中,,转换成了迭代器的数据类型,,然后可以遍历出来。。
Surrin1999
2018-08-20
打赏
举报
回复
我来解答一下吧
楼主 你点进去Iterator,会发现里面是空的,因为你看到的是Collection接口中的东西,此时还没实现
那么 真正的实现在哪里呢?废话不多说, 以你这个例子为例 点开ArrayList类的源码 找到iterator方法
看到new Itr()了吧 继续跟踪 点进去
可以看到 调用接口
真正调用的方法的是ArrayList类中的iterator()方法
真正返回的实例是ArrayList类中的一个内部类Itr的实例
纯手打 总结不易 还望采纳~
沁海棠
2018-08-19
打赏
举报
回复
不明白你说什么, c.iterator(), 返回的是 ArrayList 自己的一个内部类, 这个内部类实现了Iterator 接口
一文读
懂
Java
Iterator
(迭代器)
主要介绍了Java
Iterator
(迭代器)的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
java中api,很容易看
懂
,string,collection,
iterator
很不错,容易
懂
很不错,容易
懂
很不错,容易
懂
很不错,容易
懂
很不错,容易
懂
很不错,容易
懂
java入门-第16章 Collection、泛型、
Iterator
本课程为想转行学IT的朋友量身定制,快速入门,轻松... 课程会从计算机的基本组成原理讲起,门槛低,实用性强,让大家轻松掌握一项编程技能。后期课程全部更新完毕后还会帮大家推荐就业,指导简历编写,以及面试相关的指导.
一篇文章彻底搞
懂
Python中可迭代(Iterable)、迭代器(
Iterator
)与生成器(Generator)的概念
前言 在Python中可迭代(Iterable)、迭代器(
Iterator
)和生成器(Generator)这几个概念是经常用到的,初学时对这几个概念也是经常混淆,现在是时候把这几个概念搞清楚了。 0x00 可迭代(Iterable) 简单的说,
一个
对象(在Python里面一切都是对象)只要实现了只要实现了__iter__()方法,那么用isinstance()函数检查就是Iterable对象; 例如 class IterObj: def __iter__(self): # 这里简单地返回自身 # 但实际情况可能不会这么写 # 而是通过内置的可迭代对象来实现 # 下文
一篇彻底让你搞
懂
的python基础之Pandas 重塑(stack)和轴向旋转(pivot)的实现
@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 文章目录前言0x00 可迭代(Iterable)常见的可迭代对象0x01 迭代器(
Iterator
)0x02 生成器(Generator) 这篇文章主要给大家介绍了如何通过一篇文章彻底搞
懂
Python中可迭代(Iterable)、迭代器(
Iterator
)与生成器(Generator)的概念,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 前言 在Python中可迭代(Iterable)、迭代器(
Iterator
)和生成器(Generator)这几个概念是经常用到的,初学时对这几个概
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章