黑马程序员技术交流社区

标题: 求大神指导! [打印本页]

作者: 357955778    时间: 2015-6-28 11:44
标题: 求大神指导!
为什么运行结果会是这样?用注释的方法就没问题!

1.png (15.22 KB, 下载次数: 22)

1.png

2.png (4.08 KB, 下载次数: 10)

2.png

作者: 守门员    时间: 2015-6-29 09:11
it.next()返回的已经是迭代的下一个元素了,如果用没注释的那句代码,结果就相当于下一个元素的key值加上下下个元素的value值,运行的第一次如果能打印出来就是1:Rose,最后一个元素取不了下一个元素就报错了
作者: guiqulaixi    时间: 2015-6-29 10:36
你可以将Java迭代器看成是位于各个元素之间,当你调用next方法时,迭代器便越过下一个元素,并且返回它刚刚越过的那个元素的引用。所以你调用了多少次next()便要返回多少元素的引用,当遍历完所有元素而你又要调用next(),
返回的不再是正常的键值。
作者: 357955778    时间: 2015-6-29 19:23
守门员 发表于 2015-6-29 09:11
it.next()返回的已经是迭代的下一个元素了,如果用没注释的那句代码,结果就相当于下一个元素的key值加上下 ...

学习了,多谢!
作者: rdzhang1010    时间: 2015-6-29 19:46
学习了。。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2