c 集合與泛型集合

2021-10-10 19:43:22 字數 3303 閱讀 9418

集合的命名空間:using system.collections;

泛型的命名空間:using system.collections.generic; 命名空間包含定義泛型集合的介面和類,泛型集合允許使用者建立強型別集合,它能提供比泛型集合更好的型別安全性和效能。

集合的事例**:

arraylist list = new arraylist();

listarr = new list();

//新增:

console.writeline("修改之前");

//1.新增單個資料

list.add("張三");

//2.批量新增資料

list.addrange(new string );

//3.指定下標新增資料

list.insert(1,"嘴三半");

//在指定位置批量新增多個資料

list.insertrange(2,new string );

for (int i = 0; i < list.count; i++)

console.writeline("--------------------------------");

刪除:// //1.刪除單條資料

// list.remove("張三");

// //2.批量刪除多條資料

// list.removerange(2 ,3);

// //3.指定刪除下標元素

//

// for (int i = 0; i < list.count; i++)

//

// //4.刪除全部元素

// list.clear();

console.writeline("修改之後");

//修改資料:

//1.通過下標來修改乙個元素

list[0] = "張四";

//2.批量修改資料

list.setrange(2,new string );

for (int i = 0; i < list.count; i++)

console.writeline("--------------------------------");

//查詢資料:

//1.用foreach迴圈查詢資料

//foreach (var item in list)

////2.用for迴圈查詢資料

棧 stack 先進後出

佇列 queue 先進先出

static void main(string args)

console.writeline("--------佇列-------");

queue q = new queue();

console.writeline();

//將元素依次新增到佇列中:

q.enqueue("a");

q.enqueue("b");

q.enqueue("c");

//獲取棧頂的元素:

console.writeline("獲取棧頂的元素");

object equ = q.peek();

console.writeline(equ);

//將首位元素 移除佇列 刪除這個元素

console.writeline("將首位元素 移除佇列 刪除這個元素");

object dqu = q.dequeue();

console.writeline(dqu);

//迴圈輸出佇列裡的全部元素:

console.writeline("迴圈輸出佇列裡的全部元素");

foreach (object obj2 in q)

hashtable類:

在c#中,hashtable(雜湊表)是system.collection命名空間提供的乙個集合,可以將陣列作為一組鍵(key)值(value)來儲存,其中key通常可以用來快速查詢,同時key是區別大小寫,value用於儲存對應的key的值。

hashtable中 key/value鍵值對均為object型別,所以hashtable可以支援任意型別的key/value鍵值對,但是key必須唯一的,可以向hashtable中自由新增和刪除元素。

/* * 鍵值對 (key,value)

* key不能重複 value可以重複

* 可以自動排序

*///宣告乙個hashtable

console.writeline("------------hashtable------------");

hashtable h = new hashtable();

//新增一對鍵值對

h.add("name","李xx");

h.add("age",12);

h.add("***", "男");

h.add("address", "陽泉市");

//根據 key 修改

h["name"] = "臭弟弟"; //鍵如果存在 正常修改

h["job"] = "學生"; //鍵不存在,相當於新增一對 鍵值對

//刪除 根據key 直接刪除一對 鍵值對

h.remove("***");

//hashtable裡面存在了 返回true 如果不存在了 返回false

console.writeline("hashtable裡面存在了 返回true 如果不存在了 返回false");

boolean b = h.contains("age");

console.writeline(b);

boolean b1 = h.contains("***");

console.writeline(b1);

console.writeline();

//查詢 hashtable 裡的的所有東西

console.writeline("查詢 hashtable 裡的的所有東西");

foreach (dictionaryentry dae in h)

----",obj1,obj2);

}console.writeline();

//遍歷 所有的 鍵(kye)

console.writeline("遍歷 所有的鍵(kye)");

foreach (object ob in h.keys)

console.writeline();

//遍歷所有的值(value)

console.writeline("遍歷所有的值(value)");

foreach (object ob1 in h.values)

C 集合與泛型集合

看到這個標題,大家應該就知道有泛型集合,就有非泛型集合 既然都是集合,咱們今兒就簡單的來對比講解下 需要記住的不算太多,理解記憶 理解記憶 2017 11 0411 39 09 c 泛型集合之非泛型集合類與泛型集合類的對應 arraylist對應list hashtable對應dictionary ...

C 集合 泛型集合

非泛型集合的類和介面位於system.collections命名空間。泛型集合的類和介面位於system.collections.generic命名空間。普通集合 arraylist 值 有序不唯一 hashtable key 必須唯一 可為空 不能為null value 可重複 能為空和null ...

C 集合與泛型

1 什麼是集合 集合類時為保障資料的安全儲存和訪問設計的,常見的集合類如下 arraylist 使用大小可按需動態增加的陣列實現system.collections.ilist 介面。sortedlist 表示鍵 值對的集合,這些鍵 值對按鍵排序並可按照鍵和索引訪問。queue 表示物件的先進先出集...