面試題: 1.HashMap和Hashtable的區別? HashMap:線程不安全,效率高,鍵和值都允許null值 Hashtable:線程安全,效率低,鍵和值都不允許null值 ArrayList代替Vector HashMapd代替Hashtable 2.List,Set,Map等接口是否都繼承自Map接口? List,Set是繼承自Collection接口 Map是Map的頂層接口 3.Collection和Collections的區別? Collection:是單列集合的頂層接口,有兩個子接口List和Set Collections:是針對集合進行操作的工具類 A:public static <T> void sort(List<T> list) B:public static <T> int binarySearch(List<?> list,T key) C:public static <T> T max(Collection<?> coll) D:public static void reverse(List<?> list) E:public static void shuffle(List<?> list)
/* * 補充掌握的知識點
* java.util.concurrent.ConcurrentHashMap<K,V> * ConcurrentHashMap特點:Hashtable的線程安全+HashMap的高性能 * * 只針對需要修改的數據進行加鎖(Hashtable線程安全的體現) * 對其它不需要修改的數據不添加鎖,可以直接獲取(HashMap高性能的體現) * * 舉例理解: * 游樂場某一項項目需要維護,這個時候只針對需要維護的這個項目加鎖, * 而其它無需維護的項目仍然對外開放(即不加鎖),而不是一個項目需要維護就必須關掉整個游樂場 * */
