C 程式設計 泛型集合

2021-09-13 23:15:38 字數 3903 閱讀 5521

using system.collections; (非泛型集合)

using system.collections.generic;(泛型集合)

2.1 arraylist集合:

增加元素、刪除元素

namespace 集合

", arraylist.count)

; console.

writeline

("集合現在的容量為"

, arraylist.capacity)

;//向集合中新增元素

arraylist.

add(21)

; console.

writeline

("集合中元素的個數為"

, arraylist.count)

; console.

writeline

("集合現在的容量為"

, arraylist.capacity)

; arraylist.

add(

"21");

arraylist.

add(

"***");

person p1 = new person()

; p1.name =

"...."

; arraylist.

add(p1)

;

console.

writeline

("集合中元素的個數為"

, arraylist.count)

; console.

writeline

("集合現在的容量為"

, arraylist.capacity)

; arraylist.

addrange

(new int

);console.

writeline

("集合中元素的個數為"

, arraylist.count)

; console.

writeline

("集合現在的容量為"

, arraylist.capacity)

;//向指定的位置插入乙個元素

arraylist.

insert(0

,"www");

//向指定的位置插入乙個元素

arraylist.

insertrange(5

, new string)

;//刪除元素

//想要將元素全部刪除,直接clear();

// removeat:按照索引去刪除元素

// remove: 根據物件來刪除

arraylist.

removeat(5

);arraylist.

remove

(p1)

;//在陣列中,想要知道陣列長度用.length,而所有的集合使用的是.count。

//通過下標獲取元素

for(

int i =

0; i < arraylist.count; i++

) console.

readkey()

;}} public class person

public int age

public string email

}}

拼接兩個arraylist集合,並將相同的元素去掉。

static

void

main

(string[

] args)

; arr1.

addrange

(s1)

; string[

] s2 = new string;

arr2.

addrange

(s2)

;for

(int i =

0; i < arr2.count;i++)}

for(

int i =

0; i < arr1.count; i++

) console.

readkey()

;}

2.2 hashtable集合:

hashtable 鍵值對集合,類似於字典,hashtable在查詢元素的時候,速度非常快。

namespace 物件1

hash.

add(

"xzl"

, new person()

);//通過鍵獲取值

console.

writeline

(hash[

"h1"].

tostring()

);person p1 = hash[

"xzl"

] as person;

console.

writeline

(p1.name)

;//遍歷hashtable

// 1. 遍歷鍵: 使用foreach遍歷 //

foreach

(var i in hash.keys)

——值"

, i, hash[i]);

}// 2. 直接遍歷值 //

foreach (var i in hash.values)

", i);}

// 3. 直接遍歷鍵值對 //

foreach

(dictionaryentry kv in hash)

值:", kv.key,kv.value);}

console.

readkey()

;}} class person

public person

(string name,

int age,

int height)

public person

(string name)

:this

(name,0,

0)public string name

public int age

public int height

}}

泛型集合的用處更多更大更方便,因此大多情況下使用的都是泛型集合。

static

void

main

(string[

] args)

//遍歷值

foreach (

int item in dict.values)

//直接遍歷鍵值對

foreach (keyvaluepairint> item in dict)

值",item.key,item.value);}

console.

readkey()

;}

mat text = new mat(10

,10,depthtype.cv32f,1)

; unsafe

}}list<

float

> a1 = new list<

float

>()

; unsafe

}}

C 集合 泛型集合

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

C 泛型 泛型集合Dictionary

在system.collections.generic命名空間中,與arraylist相對應的泛型集合是list,與hashtable相對應的泛型集合是dictionary,其儲存資料的方式與雜湊表相似,通過鍵 值來儲存元素,並具有泛型的全部特徵,編譯時檢查型別約束,讀取時無須型別轉換。本儲存的例子...

C 泛型集合

集合是oop中的乙個重要概念,c 中對集合的全面支援更是該語言的精華之一。為什麼要用泛型集合?在c 2.0之前,主要可以通過兩種方式實現集合 a.使用arraylist 直接將物件放入arraylist,操作直觀,但由於集合中的項是object型別,因此每次使用都必須進行繁瑣的型別轉換。b.使用自定...