黑马程序员技术交流社区
标题:
迭代器问题
[打印本页]
作者:
\(^o^)/
时间:
2014-4-22 14:00
标题:
迭代器问题
本帖最后由 \(^o^)/ 于 2014-4-23 09:57 编辑
import java.util.*;
class CollectionDemo
{
public static void main(String[] args)
{
method_get();
}
public static void method_get()
{
ArrayList a1=new ArrayList();
a1.add("java01");
a1.add("java02");
a1.add("java03");
a1.add("java04");
Iterator it=a1.iterator();//获取迭代器,用于取出集合中的元素。
while(it.hasNext())
{
sop(it.next());
}
}
复制代码
为什么在最后面输入sop(it.next())后才能将元素打印出来 而直接输入sop(it)就是错误的呢?it中不是已经存储了元素吗?
作者:
heheka123
时间:
2014-4-22 14:05
Iterator it=a1.iterator();//获取迭代器,用于取出集合中的元素。 你这个it是迭代器,拿出其中的值 是it.next()
作者:
世界公民
时间:
2014-4-22 14:11
it.hasNext()返回的是一个boolean类型的值表示it有没有下一个元素,it.next()则返回一个元素,而且指针会向后移一位。。。
作者:
kuroro自走核炮
时间:
2014-4-22 14:11
it中是已经储存的元素,但是你需要打印的是值啊……不能直接打印容器吧?
你需要烧水,锅里有水放在火上烧了,喝水的时候你也不会啃锅啊。
作者:
阿旺
时间:
2014-4-22 14:18
it像是“游标”、“指针”这样的作用吧,a1.iterator()方法产生了一个实现Iterator接口的对象
作者:
天山
时间:
2014-4-22 19:06
kuroro自走核炮 发表于 2014-4-22 14:11
it中是已经储存的元素,但是你需要打印的是值啊……不能直接打印容器吧?
你需要烧水,锅里有水放在火上烧 ...
你这个解释牛B 我一下就懂了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2