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

Java 集合框架全景解析:Collection、Map 與核心實現類

     編輯:Java 相關知識

Java 集合框架位於 java.util 套件,提供了陣列、鏈表、佇列、堆疊、映射等常用資料結構。整體架構可劃分為四大塊:List 列表、Set 集合、Map 映射、工具類(Iterator、Enumeration、Arrays、Collections)。

核心介面架構

Collection 介面

Collection<E> 是高度抽象的集合根介面,定義了增、刪、查、遍歷、大小判斷等基本操作。兩大分支:

  • List: 有序、允許重複,元素有索引(從 0 開始)。主要實現:ArrayList、LinkedList、Vector、Stack。
  • Set: 無序、不允許重複。主要實現:HashSet(基於 HashMap)、TreeSet(基於 TreeMap)。

Map 介面

Map<K,V> 代表鍵值對映射,不繼承 Collection。核心實現:

  • HashMap、TreeMap、WeakHashMap 繼承 AbstractMap。
  • Hashtable 雖繼承 Dictionary,但也實作 Map 介面(線程安全)。

迭代器體系

  • Iterator:通用遍歷介面,提供 hasNext()、next()、remove()。採用 fail-fast 機制,併發修改時拋出 ConcurrentModificationException。
  • ListIterator:專為 List 設計,支援雙向遍歷、索引查詢、元素新增/修改。
  • Enumeration:JDK 1.0 遺留介面,功能較弱,僅用於 Vector、Hashtable 等舊類別。

抽象骨架類:簡化實作

類別繼承/實作關係主要作用
AbstractCollection實作 Collection實作除 iterator()、size() 外所有方法
AbstractList繼承 AbstractCollection、實作 List實作除 size()、get(int) 外所有方法;提供 iterator() 預設實作
AbstractSet繼承 AbstractCollection、實作 Set同 AbstractCollection(Set 無額外 API)

實作類(如 ArrayList、HashSet)只需繼承對應抽象類並實作少數抽象方法,大幅減少樣板碼。

關鍵 API 概覽

Collection 基本操作

boolean add(E e)
boolean addAll(Collection<? extends E> c)
void clear()
boolean contains(Object o)
boolean remove(Object o)
int size()
Iterator<E> iterator()
Object[] toArray()
<T> T[] toArray(T[] a)

List 額外索引操作

void add(int index, E element)
E get(int index)
E set(int index, E element)
int indexOf(Object o)
List<E> subList(int from, int to)
ListIterator<E> listIterator()

Iterator / ListIterator

// Iterator
boolean hasNext()
E next()
void remove()

// ListIterator 額外
boolean hasPrevious()
E previous()
int nextIndex()
int previousIndex()
void add(E e)
void set(E e)

掌握這張架構圖與核心 API,即可在開發中靈活選擇最適合的集合類型,並理解其效能特徵與併發行為。

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