跳至內容

聚合

100% developed
來自華夏公益教科書,開放的世界,開放的書籍

導航 聚合 主題: v  d  e )
主題:

在前面的章節中,我們發現了 陣列。陣列儲存了一組基本型別。要對物件進行分組,或引用一組物件,我們可以使用 Java 聚合類。有兩個主要的介面,分別是 java.util.Collectionjava.util.Map。這些介面的實現是不可互換的。

java.util.Collection 介面的實現用於對簡單的 Java 物件進行分組。

示例
我們可以將醫院的所有患者分組到一個 "patient" 集合中。

java.util.Map 介面的實現用於表示 "鍵" 和 "值" 物件之間的對映。對映表示一組 "鍵" 物件,其中每個 "鍵" 物件都對映到一個 "值" 物件。

示例
對於每個患者,都只有一名主護士分配給他們。這種關聯可以用 "患者-護士" 對映來表示。

當你需要一次訪問所有專案時,集合更好。當你需要定期隨機訪問專案時,對映更好。

在選擇特定的集合實現之前,請提出以下問題

我的集合可以包含相同的元素嗎,即允許重複嗎?

我的集合可以包含 null 元素嗎?

集合是否應該保持元素的順序?順序是否在任何方面都很重要?

你想要如何訪問元素?透過索引、鍵還是隻用迭代器?

集合是否需要同步?

從效能的角度來看,哪個需要更快,更新還是讀取?

從使用的角度來看,哪個操作會更頻繁,更新還是讀取?

一旦你瞭解了你的需求,你就可以選擇一個現有的實現。但首先決定你是否需要一個 Collection,還是一個 Map

請注意,上述關聯是顯式的。物件本身對它們是否屬於關聯沒有任何知識/資訊。但建立簡單 Java 物件之間的顯式關聯是使用聚合/集合類的主要思想。


華夏公益教科書