聚合
外觀
| 導航 聚合 主題: |
| 主題: |
在前面的章節中,我們發現了 陣列。陣列儲存了一組基本型別。要對物件進行分組,或引用一組物件,我們可以使用 Java 聚合類。有兩個主要的介面,分別是 java.util.Collection 和 java.util.Map。這些介面的實現是不可互換的。
java.util.Collection 介面的實現用於對簡單的 Java 物件進行分組。
- 示例
- 我們可以將醫院的所有患者分組到一個 "patient" 集合中。
java.util.Map 介面的實現用於表示 "鍵" 和 "值" 物件之間的對映。對映表示一組 "鍵" 物件,其中每個 "鍵" 物件都對映到一個 "值" 物件。
- 示例
- 對於每個患者,都只有一名主護士分配給他們。這種關聯可以用 "患者-護士" 對映來表示。
當你需要一次訪問所有專案時,集合更好。當你需要定期隨機訪問專案時,對映更好。
在選擇特定的集合實現之前,請提出以下問題
我的集合可以包含相同的元素嗎,即允許重複嗎?
我的集合可以包含 null 元素嗎?
集合是否應該保持元素的順序?順序是否在任何方面都很重要?
你想要如何訪問元素?透過索引、鍵還是隻用迭代器?
集合是否需要同步?
從效能的角度來看,哪個需要更快,更新還是讀取?
從使用的角度來看,哪個操作會更頻繁,更新還是讀取?
一旦你瞭解了你的需求,你就可以選擇一個現有的實現。但首先決定你是否需要一個 Collection,還是一個 Map。
請注意,上述關聯是顯式的。物件本身對它們是否屬於關聯沒有任何知識/資訊。但建立簡單 Java 物件之間的顯式關聯是使用聚合/集合類的主要思想。