A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fever_ai_my 中级黑马   /  2015-7-12 21:19  /  358 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

想要知道java中怎么使用迭代器 来遍历的  希望举个例子说明一下 谢谢

5 个回复

倒序浏览
ArrayLIst<String> arr = new Arraylist<String>();
arr.add("abc1");
arr.add("abc2");
arr.add("abc3");
arr.add("abc4");

Iterator it = arr.iterator();
while(it.hasNext())
{
      System.out.println(it.next());
}
回复 使用道具 举报
dragonsoull 发表于 2015-7-13 22:16
ArrayLIst arr = new Arraylist();
arr.add("abc1");
arr.add("abc2");

迭代器是一个对象 然后通过迭代器中 iterator()方法遍历吗?
回复 使用道具 举报
本帖最后由 dragonsoull 于 2015-7-14 09:54 编辑

在collection中的iterator()能够返回一个迭代器对象,迭代器本身也是个接口。迭代器有自己的方法,通过hasNext()方法判断是否还有下个元素,有就通过迭代器对象.next()获取下一个元素。可以参考官方文档了解更具体的内容。
http://docs.oracle.com/javase/8/docs/api/
回复 使用道具 举报
import java.util.*;
class  CollectionDemo
{
        public static void main(String[] args)
        {
                ArrayList al = new ArrayList();

                //1,添加元素。
                al.add("java01");//add(Object obj);
                al.add("java02");
                al.add("java03");
                al.add("java04");

                Iterator it = al.iterator();//获取迭代器,用于取出集合中的元素。
                                    while(it.hasNext())
                {
                        sop(it.next());
                }

        }
                   public static void sop(Object obj)
        {
                System.out.println(obj);
        }
}
iterator()是Collection集合类中就定义的一个方法,函数返回值类型是一个接口类型。
Iterator it = al.iterator();//接口型引用只能指向自己的子类对象,可以看出这个对象不是new出来的,是通过相应集合的对象调用这个iterator()方法,返回接口类型的子对象。
回复 使用道具 举报
fever_ai_my 发表于 2015-7-14 03:46
迭代器是一个对象 然后通过迭代器中 iterator()方法遍历吗?

通过list中的迭代方法iterator()  得到Iterator 类型的迭代器  然后再进行遍历
  Iterator it = arr.itreator();
//遍历迭代器
while(it.hasNext())//it.hasNext()确认迭代器中是否还有对象
{
  System.out.println(it.next); //it.next()  迭代器中下一个对象
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马