首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java 集合框架核心接口對比:List、Set、Map 的繼承關係與實現類差異

     編輯:Java 綜合教學

Java 集合框架核心接口對比

繼承體系

  • List、Set 繼承自 Collection 接口
  • Map 獨立,不繼承 Collection

主要實現類

接口實現類特點
ListArrayList動態數組,查詢快,增刪慢,非線程安全
LinkedList雙向鏈表,增刪快,查詢慢,非線程安全
SetHashSet基於 HashMap,無序、不重複,非線程安全
TreeSet基於紅黑樹,有序、不重複,非線程安全
MapHashMap數組+鏈表/紅黑樹,非線程安全,允許 null key/value
Hashtable同步、線程安全,不允許 null,效率較低

關鍵差異:HashMap vs Hashtable

  1. 繼承不同:HashMap extends AbstractMap;Hashtable extends Dictionary
  2. 線程安全:HashMap 非同步,高效;Hashtable 同步,線程安全
  3. Null 支持:HashMap 允許一個 null key、多個 null value;Hashtable 禁止 null,拋 NullPointerException

ConcurrentHashMap

繼承 AbstractMap,採用分段鎖/CAS 實現高併發線程安全,性能優於 Hashtable。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved