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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Map接口和Collection接口的区别?

10 个回复

倒序浏览
Collection接口,包含list和set子接口
Collection和Map接口之间的主要区别在于:Collection中存储了一组对象,而Map存储关键字/值对。
在Map对象中,每一个关键字最多有一个关联的值。
Map:不能包括两个相同的键,一个键最多能绑定一个值。null可以作为键,这样的键只有一个;可以有一个或多个键所对应的
值为null。当get()方法返回null值时,即可以表示Map中没有该键,也可以表示该键所对应的值为null。因此,在Map中不能由get()方法来判断Map中是否存在某个键,而应该用containsKey()方法来判断。
继承Map的类有:HashMap,HashTable
HashMap:Map的实现类,缺省情况下是非同步的,可以通过Map Collections.synchronizedMap(Map m)来达到线程同步
HashTable:Dictionary的子类,确省是线程同步的。不允许关键字或值为null
当元素的顺序很重要时选用TreeMap,当元素不必以特定的顺序进行存储时,使用HashMap。Hashtable的使用不被推荐,因为HashMap提供了所有类似的功能,并且速度更快。当你需要在多线程环境下使用时,HashMap也可以转换为同步的。
回复 使用道具 举报
长衫造纸农_ 发表于 2016-4-12 08:35
Collection接口,包含list和set子接口
Collection和Map接口之间的主要区别在于:Collection中存储了一组对 ...

正解 每天都能看到你
回复 使用道具 举报
好的
谢谢大神了
回复 使用道具 举报
二楼,正解,受教了
回复 使用道具 举报
很详细...................
回复 使用道具 举报
Map    所有键值对集合的根接口,存储2个对象    键值对,每个集合中键必须唯一性,一个键只能映射一个值  Collection接口   所有单列集合的根接口
回复 使用道具 举报
xinzhang 发表于 2016-4-12 10:22
正解 每天都能看到你

我能说我已经出来工作了,为了帮刚进黑马的小弟赚技术分我操碎了心么
回复 使用道具 举报
长衫造纸农_ 发表于 2016-4-13 08:33
我能说我已经出来工作了,为了帮刚进黑马的小弟赚技术分我操碎了心么 ...

我能说我是在帮着弟弟弄吗?我也已经出来工作一年所啦
回复 使用道具 举报
xinzhang 发表于 2016-4-13 20:55
我能说我是在帮着弟弟弄吗?我也已经出来工作一年所啦

我出来2年多了,
回复 使用道具 举报
二楼回答很全面啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马