1、IEnumerable<T>接口和IEnumerable接口
實現了IEnumerable接口的集合表明該集合能夠提供一個enumerator(枚舉器)對象,支持當前的遍歷集合。IEnumerable接口只有一個成員GetEnumerator()方法。
IEnumerator接口實現了IEnumerator接口的集合實現了從一個元素到另一個元素向前移動的方法,同時也可以隨時返回初始處。
IEnumerator接口是只讀的。
包括以下三個成員
MoveNext()方法調整遍歷指針移向集合的下一個元素。注意,遍歷指針的初始位置是集合中第一個元素的前面。要指向第一個元素,必須先調用一次MoveNext()方法。該方法返回一個布爾值,如果成功遍歷到下一個元素,則返回true;如果指針移出末尾,則返回false。
Reset()方法用于設置遍歷指針指向初始位置,即集合中第一個元素的前面。
Current屬性返回集合中當前對象的引用。
?
2、ICollection<T>接口和ICollection接口
該接口是IEnumerable接口的子接口,定義了集合的大小、IEnumerator接口和同步方法。在IEnumerable接口的基礎上增加了以下功能。
Count;該屬性返回集合中元素的數目。
CopyTo(Array array, int index);該方法用于實現從集合中拷貝元素到一個一維數組中。
3、IList接口和IList<T>接口
ILIst接口包括以下方法和屬性
?
Add()和Insert()方法用于向集合中添加條目,使用索引來指定項目要插入的位置,其中首元素的索引為0;Add()將新條目添加到尾部。
Remove()和RemoveAt()用于從列表中刪除條目。Clear()用于刪除所有條目。
IndexOf和Contains()用于搜索該列表。
this屬性用于獲取或設置索引指定的值。C#中可以使用[]運算符進行訪問
?
IList<T>接口
?
ArrayList類
ArrayList類實際上是C#中的”動態數組”。數組在new創建后,其大小(Length)是不能改變的,而ArrayList中的數組元素的個數(Count)是可以改變的,元素可以加入及移出。
?
4、IDictionary<Tkey,Tvalue>接口IDictionary
?
IDictionary接口提供了一組”關鍵字/值”的集合,Hashtable是IDictonary的一個重要實現。
IDictionary接口是一個包含一組”關鍵字/值”對的數據結構,每個值都由相應的關鍵字來定義。關鍵字和值可以是任何數據類型,關鍵字必須唯一且非空。
Add()方法添加一個指定的關鍵字和值的條目到IDictionary接口。
this屬性檢索指定關鍵字所對應的值。
Keys和Values屬性分別返回包含所有關鍵字和值的集合。
Remove()用于刪除指定關鍵字對應的條目。Clear()用于刪除所有條目。
GetEnumator()返回一個IDictionaryEnumerator,可用于遍歷IDictionary接口。
?
IDictionaryEnumerator接口
IDictionaryEnumerator接口基于IEnumerator接口,可以使用Entry屬性檢索當前條目的關鍵字和值,或者使用Key和Value屬性分別檢索。Entry屬性返回一個DictionaryEntry對象。
DictionaryEntry是一個值類型,包含Key和Value兩個字段,每個字段都是一個對象引用。s
Hashtable類
Hashtable(哈希表)表示一個關鍵字和值相關聯的集合,它的組織方式能夠高效地檢索其中的值。
?
HashMap和Hashtable及HashSet的區別
http://www.blogjava.net/fisher/archive/2006/12/13/87398.html
?
?