共用方式為


收藏品

Microsoft Foundation Class Library 提供集合類別來管理物件的群組。 這些類別有兩種類型:

備註

如果您的程式代碼已經使用非範本集合類別,您可以繼續使用它們。 如果您為自己的數據類型撰寫新的類型安全集合類別,建議您使用較新的範本型類別。

集合圖形

集合類別的特點是其「形狀」和其元素的類型。 圖形是指物件由集合組織及儲存的方式。 MFC 提供三個基本集合圖形:清單、陣列和地圖(也稱為字典)。 您可以挑選最適合您特定程式設計問題的集合圖形。

本主題稍後會簡短說明這三個提供的集合圖形。 若要比較圖形的功能,以協助您決定最適合程式的功能,請參閱 選擇集合類別的建議

  • 清單

    list 類別會提供一個有序但未索引的元素清單,實作為一個雙向鏈結串列。 清單具有「前端」和「尾端」,以及從前端或尾端新增或移除元素,或在中間插入或刪除元素的速度非常快。

  • 陣列

    陣列類別提供物件的動態大小、排序和整數索引陣列。

  • 地圖 (也稱為字典)

    映射是一個集合,可將索引鍵物件與值物件產生關聯。

Template-Based 集合類別

實作包含任何型別物件的型別安全集合最簡單的方式,就是使用其中一個 MFC 範本型類別。 如需這些類別的範例,請參閱 MFC 範例 COLLECT

下表列出 MFC 範本型集合類別。

集合範本類別

集合內容 陣列 列表 / 清單 地圖
任何類型的物件集合 CArray CList CMap
任何型別物件的指標集合 CTypedPtrArray CTypedPtrList CTypedPtrMap

集合類別不是以範本為基礎的

如果您的應用程式已經使用 MFC 非範本類別,您可以繼續使用它們。 不過,針對新的集合,我們建議您使用範本型類別。 下表列出不是以範本為基礎的 MFC 集合類別。

非模板集合類別

陣列 列表 / 清單 地圖
CObArray CObList CMapPtrToWord
CByteArray CPtrList CMapPtrToPtr
CDWordArray CStringList CMapStringToOb
CPtrArray CMapStringToPtr
CStringArray CMapStringToString
CWordArray CMapWordToOb
CUIntArray CMapWordToPtr

選擇集合類別之建議中的 MFC 集合類別表特性描述 MFC 集合類別,以這些特性來描述 MFC 集合類別(除了圖形以外):

  • 類別是否使用C++範本

  • 儲存在集合中的元素是否可以序列化

  • 是否可以匯出儲存在集合中的元素以進行診斷

  • 集合是否為類型安全

您要做什麼

一般 Collection-Class 工作

Template-Based Collection-Class 任務

存取集合的成員 (Template-Based 或否)

另請參閱

概念
一般 MFC 主題