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

Java 容器核心體系與 API 詳解

     編輯:Java 相關知識

容器概念

Java API 提供的介面及實現類實例,用於程序中存放對象。**優勢**:自動增長容量、自動釋放無用空間。

容器 API 結構圖

容器API結構圖

  • Collection:存取一組對象,子介面 Set(無序、不重複)、List(有序、可重複)
  • Map:鍵值對映射存儲

Collection 核心方法

Collection方法

關鍵:remove、contains 依賴 equals() 比較。自定義類作元素/Key **必須正確覆寫 equals() 和 hashCode()**,相等對象 hashCode 必相等。

Iterator 迭代器模式

所有 Collection 實現類提供 iterator() 返回 Iterator,統一遍歷介面。

Iterator示意

boolean hasNext();      // 游標右側是否有元素
E next();               // 返回右側元素並右移游標
void remove();          // 刪除游標左側元素(每次 next 後僅可調用一次)

Set 介面與實現

  • 無序、不可重複(equals 判斷)
  • 實現:HashSet(HashMap 底層)、LinkedHashSet(維護插入序)、TreeSet(紅黑樹、有序)

List 介面與實現

List方法

  • 有序、可重複、可按索引存取
  • ArrayList:數組底層,**查快(O(1))、增刪慢(需位移/擴容)**
  • LinkedList:雙向鏈表,**增刪快(O(1))、查慢(O(n))**
  • Vector:同步版 ArrayList,性能差,不推薦

Comparable 比較介面

所有可排序類實現 Comparable:

public int compareTo(Object obj); // 返回負/零/正:小於/等於/大於

配合 Collections.sort()、TreeSet、TreeMap 實現自然排序。

Map 介面與實現

  • 鍵值對,Key 唯一(不可重複)
  • HashMap:首選、非同步、允許 null
  • Hashtable:同步、過時、不允許 null
  • LinkedHashMap:維護插入/訪問序
  • TreeMap:紅黑樹、Key 有序
  • WeakHashMap:Key 弱引用,GC 可回收

選型速查表

需求推薦容器
高頻隨機訪問、少增刪ArrayList
高頻首尾增刪、少隨機訪問LinkedList / ArrayDeque
去重、無序HashSet
去重、保持插入序LinkedHashSet
去重、自然排序TreeSet
Key-Value、高性能HashMap
Key-Value、保持插入序LinkedHashMap
Key-Value、Key 有序TreeMap
多線程高併發 MapConcurrentHashMap

總結

Java 容器框架核心在於 **介面與實現分離**、**底層數據結構特性差異**、**equals/hashCode 契約**。掌握結構圖、核心方法、選型表,即可應對絕大多數業務開發與面試考察。

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