hashmap和hashtable(hashmap和hashtable都属于map接口)

admin 43 0

今天给各位分享hashmap和hashtable的知识,其中也会对hashmap和hashtable都属于map接口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

hashmap和hashtable的不同

1、HashMap不是线程安全的,HashTable是线程安全。HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。null不同 ashMap允许将null作为一个entry的key或者value,而Hashtable不允许。

2、Hashtable是字典的一个子类,HashMap的是Map接口的实现;点击看详细Hashtable方法是同步的,而HashMap的方法,通过默认的非同步的。

3、继承的父类不同 Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。线程安全性不同 javadoc中关于hashMap的一段描述如下:此实现不是同步的。

4、Hashtable和HashMap的区别有:对外提供的接口不同、安全性不同等。对外提供的接口不同 Hashtable比HashMap多提供了elments和contains两种方法。elments方法继承自Hashtable的父类Dictionnary。

5、Hashtable中,key和value都不允许出现null值。HashMap允许null值(key和value都可以),因为在HashMap中null可以作为健,而它对应的值可以有多个null。

6、HashMap是非synchronized,而Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable;而如果没有正确的同步的话,多个线程是不能共享HashMap的。

HashMap和Hashtable区别?

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

Hashtable和HashMap的区别有:对外提供的接口不同、安全性不同等。对外提供的接口不同 Hashtable比HashMap多提供了elments和contains两种方法。elments方法继承自Hashtable的父类Dictionnary。

继承父类不同 Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类;但二者都实现了Map接口。线程的安全性 HashTable是同步(方法中使用了Synchronize)的;而HashMap是未同步(方法中缺省Synchronize)的。

Map接口,HashMap和HashTable的相同点和不同点分别是什么?

hashmap允许键和值是null,而hashtable不允许键或者值是null。hashtable是同步的,而hashmap不是。因此,hashmap更适合于单线程环境,而hashtable适合于多线程环境。

相同点:他们都是集合类,用来存放java对象。区别:历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是jdk2之后引入的一个基于Map接口的一个实现。同步性:Hashtable是线程同步的,而HashMap不是,他是异步的。

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

Hashtable和HashMap的区别:Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。

Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。

hashmap和hashtable的区别

hashmap和hashtable的区别:hash数组默认大小不同 HashMap:HashMap中 hash数组的默认大小是16,而且一定是2的指数。Hashtable:HashTable中hash数组默认大小是11,增加的方式是 old*2+1。

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

Hashtable和HashMap的区别有:对外提供的接口不同、安全性不同等。对外提供的接口不同 Hashtable比HashMap多提供了elments和contains两种方法。elments方法继承自Hashtable的父类Dictionnary。

HashMap和Hashtable的区别

1、hashmap和hashtable的区别:hash数组默认大小不同 HashMap:HashMap中 hash数组的默认大小是16,而且一定是2的指数。Hashtable:HashTable中hash数组默认大小是11,增加的方式是 old*2+1。

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

3、Hashtable和HashMap的区别有:对外提供的接口不同、安全性不同等。对外提供的接口不同 Hashtable比HashMap多提供了elments和contains两种方法。elments方法继承自Hashtable的父类Dictionnary。

4、继承父类不同 Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类;但二者都实现了Map接口。线程的安全性 HashTable是同步(方法中使用了Synchronize)的;而HashMap是未同步(方法中缺省Synchronize)的。

关于hashmap和hashtable和hashmap和hashtable都属于map接口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签: #hashmap和hashtable