黑马程序员技术交流社区
标题:
迭代器问题
[打印本页]
作者:
逍遥小seng
时间:
2014-10-23 12:52
标题:
迭代器问题
import java.util.*;
class lianxi
{
public static void main(String[] args)
{
//创建一个集合容器,使用collection接口的子类,Arraylist
ArrayList a1 = new ArrayList ();
a1.add("java01");
a1.add("java02");
a1.add("java03");
a1.add("java04");
a1.add("java05");
Iterator it = a1.iterator();
sop(it.next());
while(it.hasNext())
sop(it.next());
it.next();//程序停止,取完了
sop(a1.iterator().next());//取出java01
sop(a1.iterator().next());//取出java01
}
public static void sop(Object obj)
{
System.out.println(obj);
}
通过iterator()方法获取到一个迭代器对象,集合是一个,所以可以取完了,那为什么获取两个对象,还能取出相同的?我哪里理解错了。
作者:
xiexiaodong
时间:
2014-10-23 20:18
没有那么复杂
public static void main(String[] args) throws IOException
{
ArrayList<String> a1 = new ArrayList<String> ();
a1.add("java01");
a1.add("java02");
a1.add("java03");
a1.add("java04");
a1.add("java05");
Iterator<String> it = a1.iterator();
while(it.hasNext()){
System.out.print(it.next());
}
}
}
作者:
mudao
时间:
2014-10-23 22:42
同学,你后面两句sop(a1.iterator().next());//取出java01
sop(a1.iterator().next());//取出java01 这是两个迭代器,不是一个
作者:
千里马
时间:
2014-10-23 22:59
xiexiaodong 发表于 2014-10-23 20:18
没有那么复杂
public static void main(String[] args) throws IOException
{
#2 楼说的对,可以使用一个循环来判断集合中是否还存在元素,再输入就可以拉!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2