国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

HashMap和Hashtable的區別

2019-11-08 02:26:37
字體:
來源:轉載
供稿:網友

導讀:

1 HashMap不是線程安全的

            hastmap是一個接口 是map接口的子接口,是將鍵映射到值的對象,其中鍵和值都是對象,并且不能包含重復鍵,但可以包含重復值。HashMap允許null key和null value,而hashtable不允許。

 

2   HashTable是線程安全的一個Collection。

 

HashMap是Hashtable的輕量級實現(非線程安全的實現),他們都完成了Map接口,主要區別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable。 HashMap允許將null作為一個entry的key或者value,而Hashtable不允許。 HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。 Hashtable繼承自Dictionary類,而HashMap是java1.2引進的Map interface的一個實現。 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap 就必須為之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會有很大的差

public static void main(String args[]) { HashTable h=new HashTable(); h.put("用戶1",new Integer(90)); h.put("用戶2",new Integer(50)); h.put("用戶3",new Integer(60)); h.put("用戶4",new Integer(70)); h.put("用戶5",new Integer(80)); Enumeration e=h.elements(); while(e.hasMoreElements()){ System.out.PRintln(e.nextElement()); }

 

總結:

hashmap

線程不安全

允許有null的鍵和值

效率高一點、

方法不是Synchronize的要提供外同步

有containsvalue和containsKey方法

HashMap 是Java1.2 引進的Map interface 的一個實現

HashMap是Hashtable的輕量級實現

hashtable

線程安全

不允許有null的鍵和值

效率稍低、

方法是是Synchronize的

有contains方法方法

、Hashtable 繼承于Dictionary 類

Hashtable 比HashMap 要舊

 

這些都代表了Java中的集合,這里主要從其元素是否有序,是否可重復來進行區別記憶,以便恰當地使用,當然還存在同步方面的差異,見上一篇相關文章。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 曲周县| 深圳市| 祁东县| 和林格尔县| 且末县| 内江市| 盐源县| 馆陶县| 古交市| 柳州市| 沈阳市| 佛冈县| 耿马| 巴林右旗| 西华县| 溧水县| 张家口市| 武城县| 繁昌县| 江源县| 许昌市| 嘉峪关市| 达日县| 南漳县| 德钦县| 阿荣旗| 茌平县| 花垣县| 栾城县| 电白县| 红原县| 沈阳市| 嵊泗县| 佛冈县| 嵊州市| 库伦旗| 昆明市| 枞阳县| 长宁县| 辽宁省| 西平县|