HashMap和Hashtable的区别--List,Set,Map等接口是否都继承自Map接口--Collection和Collections的区别

时间:2023-03-09 02:09:56
HashMap和Hashtable的区别--List,Set,Map等接口是否都继承自Map接口--Collection和Collections的区别
面试题:
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高性能的体现)
*
* 举例理解:
* 游乐场某一项项目需要维护,这个时候只针对需要维护的这个项目加锁,
* 而其它无需维护的项目仍然对外开放(即不加锁),而不是一个项目需要维护就必须关掉整个游乐场
*
*/