首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

Java 集合框架核心介面詳解:Collection、List、Set、Queue、Map 體系

     編輯:C++ 入門

核心集合介面架構

Java 集合框架的核心介面形成兩條獨立的繼承體系:以 Collection 為根的集合體系,以及以 Map 為根的鍵值對體系。理解這些介面的層級關係與設計意圖,是高效使用集合框架的基礎。

Collection 體系

  • Collection<E>:所有集合的根介面,代表一組物件(元素)。不直接提供實作,而是透過子介面 Set、List、Queue、Deque 定義具體行為。
  • Set<E>:不包含重複元素的集合,模擬數學集合概念。常用實作:HashSet、LinkedHashSet、TreeSet。
  • List<E>:有序集合(序列),允許重複元素,支援索引存取。常用實作:ArrayList、LinkedList。
  • Queue<E>:先進先出(FIFO)隊列,提供插入、移除、檢查操作。優先隊列(PriorityQueue)依比較器或自然順序排序。
  • Deque<E>:雙端隊列,支援兩端插入移除,可作堆疊(LIFO)或隊列(FIFO)使用。ArrayDeque 為常用實作。

Map 體系

  • Map<K,V>:鍵值對映射,鍵不可重複。常用實作:HashMap、LinkedHashMap、TreeMap、Hashtable。
  • SortedSet<E> / SortedMap<K,V>:分別為有序的 Set 與 Map,元素/鍵按自然順序或比較器排序。

泛型與類型安全

所有核心介面皆為泛型,例如 public interface Collection<E>。宣告時指定元素類型(如 Collection<String>),編譯器可在編譯期檢查類型正確性,減少執行期錯誤。

選用操作與 UnsupportedOperationException

為避免介面爆炸,修改操作(如 add、remove、clear)被設計為選用操作。特定實作可選擇不支援某些操作,若呼叫不支援的操作會拋出 UnsupportedOperationException。Java 平台通用實作(如 ArrayList、HashMap)均支援所有選用操作。

介面選擇指南

需求推薦介面典型實作
不重複、無序SetHashSet
不重複、有序SortedSetTreeSet
有序、可重複、索引存取ListArrayList
FIFO 隊列QueueLinkedList, ArrayDeque
雙端操作、堆疊/隊列DequeArrayDeque
鍵值對映射MapHashMap
有序鍵值對SortedMapTreeMap

物件排序機制

SortedSet 與 SortedMap 依賴元素的自然順序(實作 Comparable)或外部比較器(Comparator)維持順序。詳細機制請參考「物件排序」章節。

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