C#:.NET 類庫提供的主要數(shù)據(jù)結(jié)構(gòu)

以下是 .NET 類庫提供的主要數(shù)據(jù)結(jié)構(gòu)分類列表(基于最新穩(wěn)定版本),涵蓋集合、線性結(jié)構(gòu)、樹形結(jié)構(gòu)、圖結(jié)構(gòu)等:


一、線性集合(順序存儲)

類型 描述 時間復雜度
List<T> 動態(tài)數(shù)組,自動擴容 訪問: O(1) 插入/刪除: O(n)
LinkedList<T> 雙向鏈表 插入/刪除: O(1) 訪問: O(n)
Queue<T> 先進先出(FIFO)隊列 入隊/出隊: O(1)
Stack<T> 后進先出(LIFO)棧 入棧/出棧: O(1)
ImmutableList<T> 不可變列表 修改操作返回新實例

二、鍵值對集合(關(guān)聯(lián)存儲)

類型 描述 實現(xiàn)方式
Dictionary<TKey, TValue> 哈希表實現(xiàn)的鍵值對 哈希表
SortedDictionary<TKey, TValue> 基于二叉搜索樹的有序字典 紅黑樹
ConcurrentDictionary<TKey, TValue> 線程安全的字典 分段鎖哈希表
ImmutableDictionary<TKey, TValue> 不可變字典 哈希樹
Hashtable (非泛型) 早期非泛型鍵值集合 哈希表
HybridDictionary 小數(shù)據(jù)用List,大數(shù)據(jù)轉(zhuǎn)Hashtable 混合實現(xiàn)

三、特殊集合

類型 描述 典型用途
HashSet<T> 不重復值的哈希集合 去重/集合運算
SortedSet<T> 有序不重復集合 范圍查詢
BitArray 位操作集合 緊湊存儲布爾值
ObservableCollection<T> 可通知變化的集合 WPF數(shù)據(jù)綁定
BlockingCollection<T> 線程安全的生產(chǎn)者-消費者模型 并發(fā)隊列

四、多維/復雜結(jié)構(gòu)

類型 描述
Array (所有數(shù)組) 基礎(chǔ)的多維數(shù)組
ArraySegment<T> 數(shù)組片段
Memory<T>/Span<T> 高性能內(nèi)存視圖
DataTable 內(nèi)存關(guān)系表(ADO.NET)

五、并發(fā)數(shù)據(jù)結(jié)構(gòu)(System.Collections.Concurrent)

類型 描述
ConcurrentQueue<T> 線程安全隊列
ConcurrentStack<T> 線程安全棧
ConcurrentBag<T> 無序線程安全集合
Partitioner<T> 并行任務(wù)數(shù)據(jù)分區(qū)工具

六、不可變集合(System.Collections.Immutable)

類型 描述
ImmutableArray<T> 高性能不可變數(shù)組
ImmutableQueue<T> 不可變隊列
ImmutableStack<T> 不可變棧
ImmutableHashSet<T> 不可變哈希集合

七、遺留集合(非泛型,不推薦新項目使用)

類型 替代方案
ArrayList List<T>
Queue Queue<T>
Stack Stack<T>
SortedList SortedDictionary<TKey,TValue>

八、選擇指南

  1. 需要快速查找Dictionary<TKey, TValue>
  2. 需要有序遍歷SortedDictionary<TKey, TValue>
  3. 線程安全需求ConcurrentDictionary<TKey, TValue>
  4. 高性能只讀場景ImmutableArray<T>
  5. 先進先出處理Queue<T>ConcurrentQueue<T>

九、性能關(guān)鍵點

  • 內(nèi)存連續(xù)性List<T>Array 對CPU緩存友好
  • 哈希沖突Dictionary 的擴容開銷(默認容量為素數(shù))
  • 樹結(jié)構(gòu)平衡SortedDictionary 使用紅黑樹保證操作穩(wěn)定在 O(log n)

所有類型均位于 System.CollectionsSystem.Collections.Generic 命名空間,需要時添加對應(yīng) using 指令。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容