1、什麼是集合
集合類時為保障資料的安全儲存和訪問設計的,常見的集合類如下:
arraylist 使用大小可按需動態增加的陣列實現system.collections.ilist 介面。
sortedlist 表示鍵/值對的集合,這些鍵/值對按鍵排序並可按照鍵和索引訪問。
queue 表示物件的先進先出集合。
stack 表示物件簡單的後進先出集合。
hashtable 表示鍵/值對的集合,這些鍵/值對根據鍵的雜湊**進行組織。
集合類實現的介面如下:
icollection 定義所有非泛型集合的大小,列舉數和同步方法。
icomparer 公開一種比較兩個物件的方法。
ienumerable 公開列舉數,該列舉數支援雜器在非泛型集合上進行簡單迭代。
ilist 表示可按照物件單獨訪問的非泛型集合。
idictionary 表示鍵/值對的非通用集合。
idictionaryenumerator 列舉非泛型字典的元素。
2、sortedlist 可排序陣列集合
sortedlist 集合的初始化方式有兩種,包括泛型的和非泛型的。
sortedlist s1 = new sortedlist(); //建立非泛型sortedlist 集合
sortedlists1 = new sortedlist(); //
建立泛型sortedlist 集合
private
static
void
keyandvalueout(sortedlist s1)
:\t", s1.getkey(i), s1.getbyindex(i)); //
獲取每個元素的鍵和值
} }
static
void main(string
args)
個", s1.count); //
輸出sortedlist 的元素個數
console.writeline("
容量:" +s1.capacity);
keyandvalueout(s1);
//遍歷輸出sortedlist 所有的鍵及其對應的值
3、 queue 訊息佇列集合
同 sortedlist 集合一樣,queue 佇列也有兩種初始化方式。
queue q = new queue(); //建立非泛型佇列
queueq = new queue(); //泛型佇列
staticvoid main(string
args)
console.writeline();
q.peek();
//返回佇列的開始處但不移除
q.dequeue(); //
移除並返回開始處
console.writeline("
將某元素踢出佇列後剩餘的元素如下所示。");
ienumerator myenumerator1 =q.getenumerator();
while
(myenumerator1.movenext())
console.writeline();
if (q.contains("
love
") == true
)
else
q.clear();
//移除所有物件
console.writeline("
該佇列所含元素總數為:
3、 stack 棧集合
和前兩種集合類一樣,stack 棧也有兩種初始化方式,非泛型和泛型。
stack st = new stack(); //非泛型堆疊
stackst = new stack(); //泛型堆疊
staticvoid main(string
args)
", st.count);
ienumerator myenumerator = st.getenumerator(); //
例項化能遍歷訪問堆疊中所有元素的 ienumerator 介面
console.writeline("
堆疊中的所有元素如下所示。");
while
(myenumerator.movenext())
st.pop();
//將第乙個元素彈出堆疊
ienumerator myenumerator1 =st.getenumerator();
console.writeline();
console.writeline(
"某元素彈出後堆疊中的剩餘元素如下所示。");
4、hashtable 雜湊表集合
與前面的三種集合不同的是,.net framework 本身沒有對hashtable 提供泛型,所以它的初始化方式只有一種。
hashtable ht = new hashtable(); //建立雜湊表集合
publicstatic
void
printkeysandvalues(hashtable myht)
console.writeline(
"-鍵- -值-");
//hashtable 中的每個元素都是鍵/值對,即不是鍵的型別,也不是值的型別,
//而是dictionaryentry 型別
c 集合與泛型集合
集合的命名空間 using system.collections 泛型的命名空間 using system.collections.generic 命名空間包含定義泛型集合的介面和類,泛型集合允許使用者建立強型別集合,它能提供比泛型集合更好的型別安全性和效能。集合的事例 arraylist list...
C 集合與泛型集合
看到這個標題,大家應該就知道有泛型集合,就有非泛型集合 既然都是集合,咱們今兒就簡單的來對比講解下 需要記住的不算太多,理解記憶 理解記憶 2017 11 0411 39 09 c 泛型集合之非泛型集合類與泛型集合類的對應 arraylist對應list hashtable對應dictionary ...
C 集合 泛型集合
非泛型集合的類和介面位於system.collections命名空間。泛型集合的類和介面位於system.collections.generic命名空間。普通集合 arraylist 值 有序不唯一 hashtable key 必須唯一 可為空 不能為null value 可重複 能為空和null ...