Java集合

一、說說常見的集合有哪些吧?

答:Map接口和Collection接口是所有集合框架的父接口:

  1. Collection接口的子接口包括:Set接口和List接口
  2. Map接口的實現類主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等
  3. Set接口的實現類主要有:HashSet、TreeSet、LinkedHashSet等
  4. List接口的實現類主要有:ArrayList、LinkedList、Stack以及Vector等

 

二、HashMap與HashTable的區別?

答:線程安全、是否可null、繼承父類

  1. HashMap沒有考慮同步,是線程不安全的;Hashtable使用了synchronized關鍵字,是線程安全的;
  2. HashMap允許K/V都爲null;後者K/V都不允許爲null;
  3. HashMap繼承自AbstractMap類;而Hashtable繼承自Dictionary類;

 

三、HashMap在JDK1.7和JDK1.8中有哪些不同?

JDK1.7:  數組(Entry元素)+ 鏈表

JDK1.8:  數組(Node元素)+ 鏈表 + 紅黑樹

 

四、ConcurrentHashMap在JDK1.7和JDK1.8的具體實現知道嗎

JDK1.7:Segment + HashEntry

JDK1.8:Node + CAS + Synchronized

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章