為什麼需要集合類?
數組雖然高效,但大小固定且無法動態擴展。現實開發中,我們往往在編寫代碼時無法確定需要多少對象,或者需要更靈活的存儲方式(如鍵值對應、先進後出)。Java 提供了四大核心集合類解決這些問題:
- Vector(矢量):動態數組,可自動增長,支援隨機訪問。
- Stack(堆棧):基於 Vector 實現的 LIFO(後進先出)結構。
- Hashtable(散列表):鍵值對映射,實現關聯數組功能,查找極快。
- BitSet(位集):高效存儲大量布爾標誌,按位操作。
集合類的共同特徵
- 自動擴容:無需預估大小,隨元素增加自動增長底層存儲。
- 存儲 Object 引用:可容納任意對象(基本類型需用包裝類)。
- 統一的操作介面:提供
addElement()、elementAt()、size() 等標準方法。
選擇建議
若已知元素數量固定且追求極致性能,首選數組。若需動態增減、鍵值查找或棧行為,集合類是更佳選擇。雖然只有四種類,但組合使用足以應對絕大多數實際場景。