C#2.0 常用集合

集合

1.种类
一般比较常见的集合(我一般会用到的)
List<T>、Hashtable、SortedList<TKey, TValue>、Queue<T>、Stack<T>
这些集合都会继承这么几个接口
IEnumerable、ICollection、IDictionary、IList它们的层级关系如图:

继承了IEnumerable的类都可以使用Foreach语句

static   void  ShowArray(IEnumerable < Person >  persons)
{
    
foreach  (Person person  in  persons)
        Console.WriteLine(
" Persons/tname: {1} age: {2} " ,  person.Name, person.Age);
}


2.集合的排序
集合的排序

List < Person >  list  =   new  List < Person > ();
InitArray(list);      
list.Sort();


Sort有几个重载其中一个是public void Sort(IComparer<T> comparer);

也就是说如果传入一个IComparer<T>就可以规定排序的方法了

/// <summary>
/// 从名字到年龄进行比较
/// </summary>

class  Sort : IComparer < Person >
{
    
IComparer  成员
}


list.Sort(
new  Sort());


而public void Sort()是根据集合成员类中的CompareTo()方法进行比较
这个成员类必须从IComparable接口中继承

public   class  Person : IComparable < Person >
{
    
public string Name;
    
public int Age;
    
public Person(string name, int age)
    
{
        
this.Name = name;
        
this.Age = age;
    }

    
IComparable  成员
}



根据自定义的方法进行排序在某些情况下是经常使用到的


3.字典集合

//  Hashtable 太常见了,不过,它不支持排序
Hashtable hashtable  =   new  Hashtable();
//  可排序的字典
SortedList < string , Person >  sortedlist  =   new  SortedList < string , Person > ();



4.Queue<T>和Stack<T>

Queue<T>利用Enqueue(T)方法加插入对象,用Dequeue(T)方式取对象
Stack<T>利用Push(T)方法插入对象,用Pop(T)方式取对象
这两个集合都有Peek()方法,都是查看最前(外)面的对象
Queue是先进先出的读取方式,Stack是先进后出的读取方式
不过,这两个都是继承IEnumerable接口,所以自然可以使用Foreach查看

代码下载
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值