博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

.NET框架下集合相关的接口和类

Posted on 2006-07-12 20:01  daniel-shen  阅读(270)  评论(0)    收藏  举报
接口:
interface ICollection
{
    int    count{get;}
    bool    IsSynchronized{get;}
    object    SynchRoot{get;}
    void    CopyTo(Array array,int index);
}

interface IEnumerable
{
    IEnumerator    GetEnumerator();
}

interface    ICloneable
{
    object    Clone();
}

interface    IDictionary
{
    bool     IsFixedSize{get;}
    bool    IsReadOnly{get;}
    ICollection    Keys{get;}
    ICollection    Values{get;}
    object    this[object key]{get;set;}
    void     Add(object key,object value);
    void     Clear();
    bool     Contains(object key);
    IDictionaryEnumerator    GetEnumerator();
    void    Remove(object key);
}

interface    IDictionaryEnumerator:    IEnumerator
{
    DictionaryEntry    Entry{get;}
    object    Key{get;}
    object    Value{get;}
}

interface    IList
{
    bool    IsFixedSize{get;}
    bool    IsReadOnly{get;}
    object    this[object key]{get;set;}
    int    Add(object value);
    void    Clear();
    bool    Contains(object value);
    int    IndexOf(object value);
    Insert(int index,object value);
    void    Remove(object key);
    void    RemoveAt(int index);
}

类:
Queue:Icollection,Ienumerable,Icloneable
            常用方法:Enqueue,Dequeue,Peek,Clear,Contains
            Queue aq=new Queue(50,3.0)//增长系数,每次涨3倍
Stack:Icollection,Ienumerable,Icloneable
            常用方法:Push,Pop,Peek,Clear,Contains
Hashtable:Icollection,Ienumerable,Icloneable,IDictionary,ISeralizable,Ideserialization Callback
            Hashtable ht=new Hashtable(118.0.1f)//增长因子0.1-1.0
            Hashtable操作
                                        1.Element anElement=(Element)elements[“Na“];//Element 是一个结构体,elements是包含此类结构体的哈希表
                                        2.foreach(object key in element.Keys)
                                            {
                                                Element e = (Element)elements[key];
                                             }
                                        3.foreach(DictionaryEntry entry in elements)
                                            {
                                                string symbol = (string)entry.Key;
                                                Element elem = (Element)entry.Value;
                                            }
            专用集合类:
                StringCollection
                ListDictionary--------------------类似于hashtable
                StringDictionary-----------------类似于hashtable,强类型