1. 程式人生 > >hashtable和hashmap

hashtable和hashmap

get fail 多個 java href 參考 如果 ash http

參考這篇文章

hashtable和hashmap幾乎一樣,不同之處在:線程安全和速度!

hashtable是同步的,在多線程中使用同步的方式訪問,而hashmap則不能同步;

所以在使用時如果是在多個線程中使用則使用hashtable,或者使用Java 5提供的ConcurrentHashMap,這是hashtable的代替

在hashtable中關鍵函數使用了 synchronized 關鍵字,這是同步函數的重要方式(參考隨筆)

其次hashtable使用的是枚舉器而hashmap使用的是fail-fast叠代器,這意味著hashmap不能再多線程中異步更改結構

hashtable和hashmap