集合

什么是集合

集合(Collection)类是专门用于数据存储和检索的类。这些类提供了对栈(stack)、队列(queue)、列表(list) 和哈希表(hash table)的支持。大多数集合类实现了相同的接口。
集合(Collection)类服务于不同的目的,如为元素动态分配内存,基于索引访问列表项等等。这些类创建Object类的对 象的集合。在C#中,Object类是所有数据类型的基类

常用的集合类

动态数组(Array List)
它代表了可被单独索引的对象的有序集合。它基本上可以替代一个数组。但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。它也允许在列表中进行动态内存分配、增加、搜索、排序各项。
哈希表(Hasht able)
它使用键来访问集合中的元素。当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值。哈希表中的每一项都有一个键/值对。键用于访问集合中的项目。

什么是哈希表

它使用键来访问集合中的元素。当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值。哈希表中的每一项都有一个键/值对。键用于访问集合中的项目。
Hashtable类常用的属性
Count获取 Hashtable中包含的键值对个数。
IsFixedSize获取一个值,表示 Hashtable是否具有固定大小。
IsReadOnly获取一个值,表示Hashtable是否只读。
Item获取或设置与指定的键相关的值。
Keys获取一个 ICollection,包含 Hashtable 中的键。
Values获取一个 ICollection,包含 Hashtable 中的值。
Hashtable类常用的方法
public virtual void Add( object key, object val ue );向Hashtable添加一个带有指定的键和值的元素。
public virtual void Clear();从Hashtable中移除所有的元素。
public virtual bool ContainsKey( object key );判断Hashtable是否包含指定的键。
public virtual bool ContainsValue( object value); 判断Hashtable是否包含指定的值。
public virtual void Remove( object key );从Hashtable中移除带有指定的键的元素。

排序列表(Sorte dList)
它可以使用键和索引来访问列表中的项。排序列表是数组和哈希表的组合。它包含一个可使用键或索引访问 各项的列表。如果您使用索引访问各项,则它是一个动态数组(ArrayList),如果您使用键访问各项,则 它是一个哈希表(Hashtable)。集合中的各项总是按键值排序。
SortedList类常用的属性
Capacity获取或设置 SortedList 的容量。
Count获取 SortedList 中的元素个数。
IsFixedSize获取一个值,表示 SortedList 是否具有固定大小。
IsReadOnly获取一个值,表示 SortedList 是否只读。
Item获取或设置与 SortedList 中指定的键相关的值。
Keys获取 SortedList 中的键。
Values获取 SortedList 中的值。
SortedList类常用的方法
public virtual void Add( object key, objec t value ); 向SortedList添加一个带有指定的键和值的元素。
public virtual void Clear();从SortedList中移除所有的元素。
public virtual bool ContainsKey( object ke y );判断SortedList是否包含指定的键。
public virtual bool ContainsValue( object value ); 判断SortedList是否包含指定的值。
public virtual object GetByIndex( int inde x ); 获取SortedList的指定索引处的值。
public virtual object GetKey( int index );获取SortedList的指定索引处的键。public virtual IList GetKeyList();获取SortedList中的键。
public virtual IList GetValueList();获取SortedList中的值。
public virtual int IndexOfKey( object key);返回SortedList中的指定键的索引,索引从零开始。
public virtual int IndexOfValue( object value );返回SortedList中的指定值第一次出现的索引,索引从零开始。
public virtual void Remove( object key );从SortedList中移除带有指定的键的元素。
public virtual void RemoveAt( int index );移除SortedList的指定索引处的元素。
public virtual void TrimToSize();设置容量为SortedList中元素的实际个数。
堆栈(Stack)
它代表了一个后进先出的对象集合。当您需要对各项进行后进先出的访问时,则使用堆栈。当您在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素。

什么是堆栈

它代表了一个后进先出的对象集合。当您需要对各项进行后进先出的访问时,则使用堆栈。当您在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素。
Stack 类常用的属性 Count获取 Stack 中包含的元素个数。
Stack 类常用的方法
public virtual void Clear();从Stack中移除所有的元素。
public virtual bool Contains( object obj );判断某个元素是否在Stack中。public virtual object Peek();返回在Stack的顶部的对象,但不移除它。
public virtual object Pop();移除并返回在Stack的顶部的对象。
public virtual void Push( object obj );向Stack的顶部添加一个对象。
public virtual object[] ToArray();复制Stack 到一个新的数组中。
队列(Q ueue)
它代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。
Queue 类常用的属性* Count获取 Queue中包含的元素个数。
Queue 类常用的方法
public virtual void Clear();从Queue中移除所有的元素。
public virtual bool Contains( object obj );判断某个元素是否在Queue中。public virtual object Dequeue();移除并返回在Queue的开头的对象。
public virtual void Enqueue( object obj );向Queue的末尾添加一个对象。public virtual object[] ToArray();复制Queue到一个新的数组中
public virtual void TrimToSize();设置容量为Queue中元素的实际个数。

泛型(Generic)

什么是泛型 泛型(Generic)

允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说, 泛型允许您编写一个可以与任何数据类型一起工作的类或方法。

泛型(Generic)的特性

  1. 它有助于您最大限度地重用代码、保护类型的安全以及提高性能。
  2. 您可以创建泛型集合类。.NET 框架类库在 System.Collections.Generic命名空间中包含了一些新的泛型集合类。您可以使用这些泛型集合类来替代 System.Collections 中的集合类。
  3. 您可以创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。
  4. 您可以对泛型类进行约束以访问特定数据类型的方法。关于泛型数据类型中使用的类型的信息可在运行时通过使用反射获取。
    泛型集合常用方法
    Add()给集合的最后面添加一个元素
    AddRange()给集合的最后面再添加一组元素
    Clear()从集合中移除所有元素
    Contains()确定某元素是否在集合中
    Insert()在指定位置插入一个元素
    Remove()从集合中移除指定的元素
    RemoveAt()从集合中移除指定索引的元素
    RemoveRange()从集合中移除指定范围的元素
    Reverse()按照特定的规则对集合中的元素进行排序

动态数组(ArrayList)

什么是队列

它代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。
态数组(ArrayList)

什么是动态数组

动态数组(ArrayList)
代表了可被单独索引的对象的有序集合。它基本上可以替代一个数组。但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。它也允许在列表中进行动态内存分配、增 加、搜索、排序各项
ArrayList类常用的属性
Capacity:获取或设置
ArrayList: 可以包含的元素个数。
Count:获取 ArrayList 中实际包含的元素个数。
IsFixedSize:获取一个值,表示 ArrayList 是否具有固定大小。
IsReadOnly:获取一个值,表示 ArrayList 是否只读。
Item:获取或设置指定索引处的元素。
ArrayList类常用的方法
public virtual int Add(object value):在ArrayList的末尾添加一个对象。
public virtual void AddRange(ICollection c):在ArrayList的末尾添加ICollection的元素。
public virtual void Clear():从ArrayList中移除所有的元素。
public virtual bool Contains(object item):判断某个元素是否在ArrayList中。public virtual ArrayList GetRange( int inde x, int count):返回一个ArrayList,表示源 ArrayList 中元素的子集。
public virtual int IndexOf(object):返回某个值在ArrayList中第一次出现的索引, 索引从零开始。
public virtual void Insert( int index, objec t value ):在ArrayList的指定索引处,插入一个元素。
public virtual void InsertRange(int index,ICollection c ):在ArrayList的指定索引处,插入某个集合的元素。
public virtual void Remove( object obj ):从ArrayList中移除第一次出现的指定对象。
public virtual void RemoveAt( int index ):移除ArrayList的指定索引处的元素。
public virtual void RemoveRange( int index,int count ):从ArrayList中移除某个范围的元素。
public virtual void Reverse():逆转ArrayList 中元素的顺序。
public virtual void SetRange(int index,ICollection c):复制某个集合的元素到ArrayList中某个范围的元素上。
public virtual void Sort():对ArrayList中的元素进行排序。
public virtual void TrimToSize():设置容量为ArrayList中元素的实际个数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值