當前位置:編程學習大全網 - 網站源碼 - Java中HashMap和Hashtable分別是幹什麽用的?就是說他們有什麽用途?什麽時候用?

Java中HashMap和Hashtable分別是幹什麽用的?就是說他們有什麽用途?什麽時候用?

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 就必須為之提供外同步。

  • 上一篇:網上管家婆雲進銷存開銷售單出庫了,客戶又不要了,怎麽樣入回庫
  • 下一篇:struts2 中操作數據庫代碼寫在哪,是寫在action中的execute方法中然後再根據操作數據庫返回的結果返回?
  • copyright 2024編程學習大全網