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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 卢祥洲 中级黑马   /  2013-6-5 09:59  /  2012 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 卢祥洲 于 2013-6-5 17:17 编辑

学到集合时,查Collection接口api,发现api中java.util 接口 Collection<E>下面有个超级接口:所有超级接口:Iterable<E>(汗!)。上网搜索看了是父接口的意思。不过现在Collection是父接口,Iterator也是父接口,疑问:Collection和Iterator是啥关系,谁是父接口?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

5 个回复

倒序浏览
Iterator 呀。 API 上不是写了么 public interface Collection<E>extends Iterable<E>使他的子类都可以用Iterator迭代器遍历。
Iterator<E> 是迭代器的超级接口,而Collection<E>层次结构中的根接口。
{:soso_e176:}

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 淡定

查看全部评分

回复 使用道具 举报
Collection 的集合
   List
   Set 都实现了Iterable接口,也就是这些集合都是可迭代的。一般使用集合.iterator()获得迭代器。

简单的说,迭代器(iterator)的作用就是得到集合中的元素


Map集合时与Collection集合一个级别的。

区别在于:
   Map集合时双列集合,Collection是单列集合

Map集合没有迭代器。一般要获得Map集合的元素有两种方式:

keySet方法  //将键存到Set集合中
entrySet方法 //将键值对的映射信息存储到Set 集合中

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
桉树 发表于 2013-6-5 10:05
Iterator 呀。 API 上不是写了么 public interface Collectionextends Iterable使他的子类都可以用Iterator ...

额,了解了一点,不过问题更多了:Iterable 和 Iterator是来自2个不同的包,java.lang.Iterable ;
java.util.Iterator ;这2个啥区别?
回复 使用道具 举报
Iterable告知这个集合可以直接进行遍历;Iterator则是执行具体的遍历操作。而且一个实现Iterable接口的集合可以进行多次的遍历,当每次执行遍历操作的时候把自己本身传给实现Iterator的对象,这样每次遍历的操作都不会影响这个集合的内部元素。
回复 使用道具 举报
卢祥洲 发表于 2013-6-5 10:50
额,了解了一点,不过问题更多了:Iterable 和 Iterator是来自2个不同的包,java.lang.Iterable ;
java. ...

这个我也不懂哦,{:3_46:}。不过楼上的朋友貌似说了{:3_53:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马