HashMap和Hashtable正确的说法有()    

题目
多选题
HashMap和Hashtable正确的说法有()
A

都属于Map接口的类

B

Hashtable 类不是同步的,HashMap类是同步的

C

Hashtable 类不允许 null 键和 null 值

D

HashMap 类允许null 键和null 值

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

Hashtable和HashMap有什么区别?


正确答案:

 

a.Hashtable是继承自陈旧的Dictionary类的,HashMap继承自AbstractMap类同时是Java 1.2引进的Map接口的一个实现。
b.也许最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。这就意味着,
虽然你可以不用采取任何特殊的行为就可以在一个 多线程的应用程序中用一个Hashtable,
但你必须同样地为一个HashMap提供外同步。一个方便的方法就是利用Collections类的静态的synchronizedMap()方法,
它创建一个线程安全的Map对象,并把它作为一个封装的对象来返回。这个对象的方法可以让你同步访问潜在的HashMap。
这么做的结果就是当你不需要同步时,你不能切断Hashtable中的同步(比如在一个单线程的应用程序中),
而且同步增加了很多处理费用。
c.第三点不同是,只有HashMap可以让你将空值作为一个表的条目的key或value。
HashMap中只有一条记录可以是一个空的key,但任意数量的条目可以是空的value。
这就是说,如果在表中没有发现搜索键,或者如果发现了搜索键,但它是一个空的值,那么get()将返回null。
如果有必要,用containKey()方法来区别这两种情况。
d.HashMap去掉了Hashtable的contains方法,保留了containsValue和containsKey方法
e.Hashtable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数

第2题:

Hashtable的原理,并说出HashMap与Hashtable的区别


正确答案:

 

HashTable的原理:通过节点的关键码确定节点的存储位置,即给定节点的关键码k,通过一定的函数关系H(散列函数),得到函数值H(k),将此值解释为该节点的存储地址.
HashMap 与Hashtable很相似,但HashMap 是非同步(unsynchronizded)和可以以null为关键码的.

第3题:

HashMap和Hashtable正确的说法有()

A.都属于Map接口的类

B.Hashtable类不是同步的,HashMap类是同步的

C.Hashtable类不允许null键和null值

D.HashMap类允许null键和null值


参考答案:A, C, D

第4题:

Hashtable,HashMap,ConcurrentHashMap都是Map的实现类,它们在处理null值的存储上有细微的区别,下列哪些说法是正确的:

A.Hashtable的KV都不可以为null

B.HashMap的KV都可以为null

C.HashMap的K不可以为null,V可以为null

D.ConcurrentHashMap的KV都不可以为null


正确答案:ABD

第5题:

HashMap和Hashtable的区别。


正确答案:
答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable.

第6题:

HashMap与HashTable的区别


正确答案:
       

第7题:

Hashtable 添加内容的方式有哪几种,有什么区别?


正确答案:
 

第8题:

关于ContenValues类说法不正确的是()。

A.他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是任意类型,而值都是基本类型

B.他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值都是基本类型

C.他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值也是String类型

D.他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名,可以为空,而值都是String类型


正确答案:ACD

第9题:

ArrayList和Vector的区别,HashMap和Hashtable的区别


正确答案:

 

就ArrayList与Vector主要从二方面来说.
一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
就HashMap与HashTable主要从三方面来说。
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
三.值:只有HashMap可以让你将空值作为一个表的条目的key或value

第10题:

简述HashMap和Hashtable的区别。


正确答案: 都属于Map接口的类,实现了将惟一键映射到特定的值上。  
HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比HashMap 慢,因为它是同步的。

更多相关问题