常用集合类、接口及特点

 

IEnumerator

IEnumerator<T> 

实现遍历的基本方法 :Current,MoveNext(),Reset()        

IEnumerable

IEnumerable<T> 

最基础的所有集合都实现的可遍历接口,可以和IEnumerator接口合作

ICollection

ICollection<T>   

 无序的集合,包含集合的基本操作,Add(T),Remove(T),Clear(),Contains(),CopyTo

IList

IList<T>    

有序的集合,因此增加了IndexOf(),Insert(int,T),和RemoveAt(int)
 ISet<T>      没有顺序,元素不可重复,有集合的交,并,去除等操作
 IDictionary   最基本的字典接口
 Array     就是T[]类型,只能存储相同类型的数据。由于有逆变和协变(即可以数组级别的类型转换),速度很快。固定大小。
ArrayList       动态数组,可以在任意部位增加,删除元素,内部其实是由Array实现。在.NET 2.0之后由于新增List<T>,基本被deprecate了。包括ArrayList在内的集合一般容量(Capacity)都不固定,因此有TrimToSize方法压缩容量。
List<T>       有序集合,最常见,用得最多,各种增删查改都有

Stack

Stack<T>

  后入先出(LIFO),数据结构的C#实现,有Peek():查看顶层元素,Push():入栈,Pop():出栈。

Queue

Queue<T>  

 先入先出(FIFO),数据结构队列的C#实现,有Peek(),Enqueue():入队,Dequeue():出队。
Dictionary<Tkey,TValue> 用的最多的字典泛型
HashTable   键值对形式,基于键的哈希值而组织,没有泛型,因此,现在一般用Dictionary<Tkey,TValue>代替
HashSet<T>   无序集合,并且无法包含重复元素,速度快
NameValueCollection  没有泛型,功能类似于Dictionary<string,string> ,但可以一个键对应多个值(Request.QueryString就是这个类型),一个键可以对应多个值,且以逗号分隔。取出的值为"value1,value2,...valueN"形式。
KeyValuePair<Tkey,TValue>一个键值对 
LinkedList数据结构链表的C#实现,有AddBefore(LinkedListNode<T>,T),AddAfter,Find(T)等方法

SortedList

SortedList

有序键值对

HashSet<T>

实现了ISet接口,无序
SortedSet<T>实现了Iset接口,有序

 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

     * 除了Array外,ArrayList和各种集合类型都是动态分布容量(Capacity)的,可以根据TrimToSize方法压缩容量。

 

 

转载于:https://www.cnblogs.com/Benjamin/p/3297163.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值