微信

使用微信服务,更方便

职友集>Java面试题 > Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别

Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别

2015-10-10 06:30:03 阅读( 110 )

2201人 收藏本页

标签:Java面试题

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也可以转换为同步的。

来自IT公司面试手册

下一篇:throw 与 throws的区别与联系是什么?

上一篇:西安当代医院管理研究院Java笔试题面试题

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题