C# 常用数据结构总结

表1

类型 内部结构 优点 缺点
数组 在内存上连续存储 索引速度快 1.需要声明长度 2.增删不方便
ArrayList 数组 1.动态扩容 2.增删方便 3.可以存储不同类型的元素 1.类型不安全 2.装箱拆箱操作的性能问题
List 数组 1.动态扩容 2.增删方便 3.类型安全 内部使用数组实现相对LinkedList而言增删元素效率不高
LinkedList 双向链表 增删元素效率高 访问元素不方便

表2

类型 内部结构 优点 缺点
HashTable -- 查询效率高,线程安全 1.类型不安全 2.装箱拆箱操作的性能问题
HashSet -- 适合用来做高性能运算,例如求交集,并集,差集 --
Dictionary 数组 + 链表 1.查询效率高 2.类型安全 线程不安全
ListDictionary 单链表 -- --

表3

类型 内部结构 特点
Queue, Queue -- 先进先出
Stack, Stack -- 后进先出
SortedList, SortedList 数组 有序数据,可通过Key或下标获取数据
SortedDictionary 红黑树 相比SortedList优化了性能,不能用下标获取数据
HybridDictionary HashTable + ListDictionary --
BitArray -- 用于二进制位运算操作,只能存true或false

标"--"的是我目前并不清楚

你可能感兴趣的:(C# 常用数据结构总结)