黑马程序员技术交流社区

标题: 有关于Map集合的问题 [打印本页]

作者: hello菜菜    时间: 2013-10-12 13:14
标题: 有关于Map集合的问题
本帖最后由 hello菜菜 于 2013-10-14 11:06 编辑

Map集合作为一个很重要的群体,为什么不能拥有自己的迭代机制呢,一定要依附于Set集合才可以吗???

作者: Jam-l    时间: 2013-10-12 13:30
因为Map是映射表元素是存在有映射关系的键值对,都是两两对应的,如果是Map自己有迭代器那这个迭代器到底迭代的是键呢,还是值呢,还是键值对呢,而不如果我们只要取出键,那键肯定是单个元素的集合,而且元素是不重复了,正好满足Set集合的特点,那就肯定要用到set集合的迭代器了。
不管是取出键还是值,还是键值对的映射关系,那取出的肯定是一个元素的集合,所以再利用set的迭代器也不是很麻烦。
作者: 杨增坤    时间: 2013-10-12 14:03
这是当时开发这个语言就是这样设计的,本来集合就有就已经有迭代了,那么只要继承一下就可以了呗,这样只扩展一些方法就可以的!
作者: 吴清源    时间: 2013-10-12 14:17
因为迭代器只能对一种类型的元素进行迭代处理,其原来也是用for循环对集合进行遍历,在通过索引取出集合中的元素。由于Map集合里面存储一组键值对,包含有两种元素,用迭代取出的元素指向不明,而且很难实现。JAVA中就使用set集合来存储当中一种元素,再通过set的迭代器,就可以取出键key,再通过key也就可以取出对于的值value。
作者: To    时间: 2013-10-13 13:49
楼主你好,如果问题已解决请将帖子状态修改为提问结束,如果未解决请继续提问,谢谢合作
作者: To    时间: 2013-10-14 09:23
楼主你好,如果问题已解决请将帖子状态修改为提问结束,如果未解决请继续提问,谢谢合作
如果不会修改请看解释帖:http://bbs.itheima.com/thread-89313-1-1.html




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2