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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© junshan 中级黑马   /  2015-4-14 22:36  /  324 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这两天自学了框架,Collection下面的list和set,以及Map。
闲谈一下自己不明白的地方:
首先,为什么Iterator也是集合,它的作用仅仅是迭代Map和Collection,视频中没有介绍Iterator的构造,但是这样就可以是一个独立的集合了吗?
第二:
Collection 和map,我是这样理解的,其实只有链表和哈希码两种分配方式。Collection 其实 可以看做是仅有List,使用的是链表,所以是有序的,而且可以允许重复。map实际上就是Hash的mapping,所以是无序的,而且不可以重复,重复了hash不就一样了。而set集合实际上是Map和List的产物,兼容了两个方式,实现了两个的优点,当然也产生了新的缺点。
总的来说,hash的方式查询比较快,因为是按照码来一一对应的吗,但是存数据会很慢,因为要不停的重分配,尤其是需要不停的扩展容量的时候,增加了计算负担。链表的方式存取很快,数据结构适合存,但是取的时候要按图索骥,所以很慢。我们使用集合,无非就是存和取的过程,所以要兼而有之。


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马