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高性能的体现) * * 举例理解: * 游乐场某一项项目需要维护,这个时候只针对需要维护的这个项目加锁, * 而其它无需维护的项目仍然对外开放(即不加锁),而不是一个项目需要维护就必须关掉整个游乐场 *
*/
原文地址:https://www.cnblogs.com/yuefeng123/p/7355186.html