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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 逝风 中级黑马   /  2015-10-22 20:11  /  589 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Iterator it =hs.iterator();
                while (it.hasNext())
                {
                        sop(it.next());
                }
如果还有元素 将继续迭代  并打印下一个元素

那么迭代器  为什么要这样写呢? Iterator it =hs.iterator();
                                     一般不是  new  一个对象吗         

5 个回复

倒序浏览
额   对了   Iterator 它是接口  不能new  但是为啥这样写呢 Iterator it =hs.iterator();
回复 使用道具 举报
接口不可以被New 但是为了减小开销可以使用 new **l{} 实际上是个匿名   至于你说的为什么用hs.iterator()。。。。。这个 程序就是这么写的你可以遍历 可以迭代 只要能实现都可以
回复 使用道具 举报
容器内部类实现了迭代器的这个接口,然后内部类又能自由访问外部类成员,因此。。。就能很方便对容器内容进行迭代

点评

这是设计模式中迭代模式,如果一个容器需要有被迭代功能这样做的话就能隔离容器底层实现的差异,反正你只管调用迭代接口里面提供的方法就行了  发表于 2015-10-22 21:10
回复 使用道具 举报
调用函数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马