hashmap和hashtable和hashset的区别,java hashtable和hashmap
面试的时候见过,但是不会。回来谷歌一下,分享一下。据说是老问题了。
HashMap是Hashtable的轻量级实现(非线程安全实现)。他们都完成了地图界面。主要区别在于HashMap允许空键值,由于非线程安全,这可能比Hashtable更有效。
HashMap允许null作为条目的键或值,但是Hashtable不允许。
HashMap移除了Hashtable的contains方法,将其更改为containsvalue和containsKey。因为contains方法具有误导性。
Hashtable继承自Dictionary类,HashMap是Java1.2引入的Map接口的实现。
最大的区别是Hashtable的方法是Synchronize,而HashMap不是,在多线程中访问。
Hashtable,你不需要自己同步它的方法,但是HashMap必须为它提供外部同步。
Hashtable和HashMap使用的Hash/rehash算法差不多,所以性能不会有太大差别。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。