黑马程序员技术交流社区

标题: Map接口和Collection接口的区别? [打印本页]

作者: 改变自己、    时间: 2016-4-12 00:23
标题: Map接口和Collection接口的区别?
Map接口和Collection接口的区别?
作者: 长衫造纸农_    时间: 2016-4-12 08:35
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也可以转换为同步的。

作者: xinzhang    时间: 2016-4-12 10:22
长衫造纸农_ 发表于 2016-4-12 08:35
Collection接口,包含list和set子接口
Collection和Map接口之间的主要区别在于:Collection中存储了一组对 ...

正解 每天都能看到你
作者: 改变自己、    时间: 2016-4-12 22:21
好的
谢谢大神了
作者: lidandan    时间: 2016-4-12 22:25
二楼,正解,受教了
作者: lmr1096200234    时间: 2016-4-12 22:35
很详细...................
作者: aomingchao    时间: 2016-4-12 23:11
Map    所有键值对集合的根接口,存储2个对象    键值对,每个集合中键必须唯一性,一个键只能映射一个值  Collection接口   所有单列集合的根接口
作者: 长衫造纸农_    时间: 2016-4-13 08:33
xinzhang 发表于 2016-4-12 10:22
正解 每天都能看到你

我能说我已经出来工作了,为了帮刚进黑马的小弟赚技术分我操碎了心么
作者: xinzhang    时间: 2016-4-13 20:55
长衫造纸农_ 发表于 2016-4-13 08:33
我能说我已经出来工作了,为了帮刚进黑马的小弟赚技术分我操碎了心么 ...

我能说我是在帮着弟弟弄吗?我也已经出来工作一年所啦
作者: 长衫造纸农_    时间: 2016-4-14 08:39
xinzhang 发表于 2016-4-13 20:55
我能说我是在帮着弟弟弄吗?我也已经出来工作一年所啦

我出来2年多了,
作者: gaoxunyan    时间: 2016-4-14 08:53
二楼回答很全面啊




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