C 中的集合(HashTable與Array類)

2022-02-20 05:54:53 字數 3584 閱讀 8150

一、array類

1、array類的屬性

序號屬性 & 描述

1isfixedsize獲取乙個值,該值指示陣列是否帶有固定大小。

2isreadonly獲取乙個值,該值指示陣列是否唯讀。

3length獲取乙個 32 位整數,該值表示所有維度的陣列中的元素總數。

4longlength獲取乙個 64 位整數,該值表示所有維度的陣列中的元素總數。

5rank獲取陣列的秩(維度)。

2、array類的方法

序號方法 & 描述

1clear根據元素的型別,設定陣列中某個範圍的元素為零、為 false 或者為 null。

2copy(array, array, int32)從陣列的第乙個元素開始複製某個範圍的元素到另乙個陣列的第乙個元素位置。長度由乙個 32 位整數指定。

3copyto(array, int32)從當前的一維陣列中複製所有的元素到乙個指定的一維陣列的指定索引位置。索引由乙個 32 位整數指定。

4getlength獲取乙個 32 位整數,該值表示指定維度的陣列中的元素總數。

5getlonglength獲取乙個 64 位整數,該值表示指定維度的陣列中的元素總數。

6getlowerbound獲取陣列中指定維度的下界。

7gettype獲取當前例項的型別。從物件(object)繼承。

8getupperbound獲取陣列中指定維度的上界。

9getvalue(int32)獲取一維陣列中指定位置的值。索引由乙個 32 位整數指定。

10indexof(array, object)搜尋指定的物件,返回整個一維陣列中第一次出現的索引。

11reverse(array)逆轉整個一維陣列中元素的順序。

12setvalue(object, int32)給一維陣列中指定位置的元素設定值。索引由乙個 32 位整數指定。

13sort(array)使用陣列的每個元素的 icomparable 實現來排序整個一維陣列中的元素。

14tostring返回乙個表示當前物件的字串。從物件(object)繼承。

下面的程式演示了 array 類的一些方法的用法:

當上面的**被編譯和執行時,它會產生下列結果:

原始陣列:34721344253010逆轉陣列:10302544137234排序陣列:10132530344472

補充:關於array.copy()用法與array.clone()用法

class arraycopy

;////複製陣列 array.clone()方法

/*array.clone()返回值是object,array.copy返回值為void

array.clone()是非靜態方法,array.copy為靜態方法。

array.clone()會建立乙個新陣列,array.copy方法必須傳遞階數相同且有足夠元素的已有陣列。

*////*array.clone()用法*/

//int intarray2 = (int)intarray1.clone(); //複製陣列intarray1並賦給乙個新的陣列; 這裡需要說明的是,需要使用強制型別轉換,原因在於clone()返回的類         型為object

//foreach(int i in intarray2)

//輸出新建的陣列元素

int intarray3 =new int[11];

///*array.copyto(array, int32)用法:從當前的一維陣列中複製所有的元素到乙個指定的一維陣列的指定索引位置。索引由乙個 32 位整數指定。*/

//foreach (int i in intarray3)

/////*array.copy(array,array,int32)用法:從陣列的第乙個元素開始複製某個範圍的元素到另乙個陣列的第乙個元素位置。長度由乙個 32 位整數指定。*/

array.copy(intarray1,intarray3,5);//將陣列intarray1中從乙個位置的元素開始複製5個元素到陣列intarray3中第乙個位置處

foreach (int i in intarray3)

console.readkey();}}

二、hashtable:雜湊表

1、在.net framework中,hashtable是system.collections命名空間提供的乙個容器,用於處理和表現類似

keyvalue的鍵值對,其中key通常用來快速查詢,key區分大小寫;value用於儲存對應key值。hashtable中keyvalue鍵值對均為object型別,所以hashtable可以支援任何型別的keyvalue鍵值對.

2、雜湊表的簡單操作

在雜湊表中新增乙個keyvalue鍵值對:hashtableobject.add(key,value);

在雜湊表中去除某個keyvalue鍵值對:hashtableobject.remove(key);

從雜湊表中移除所有元素:           hashtableobject.clear();

判斷雜湊表是否包含特定鍵key:      hashtableobject.contains(key);

下面的例項演示了雜湊表(hashtable)的概念:

當上面的**被編譯和執行時,它會產生下列結果:

001:zaraali002:abidarehman003:joeholzner004:mausambenazirnur005:m.amlan006:m.arif007:riteshsaikia008:nuhaali

3、遍歷雜湊表

遍歷雜湊表需要用到dictionaryentry object,**如下:

foreach(dictionaryentry de inht) fileht為乙個hashtable例項

4、對雜湊表進行排序

對雜湊表進行排序在這裡的定義是對keyvalue鍵值對中的key按一定規則重新排列,但是實際上這個定義是不能實現的,因為我們無法直接在hashtable進行對key進行重新排列,如果需要hashtable提供某種規則的輸出,可以採用一種變通的做法:

arraylist akeys=newarraylist(ht.keys); file別忘了匯入system.collections

akeys.sort(); file按字母順序進行排序

foreach(string skey inakeys)

C 中HashTable的用法

c 中hashtable的用法 一,雜湊表 hashtable 簡述 在.net framework中,hashtable是system.collections命名空間提供的乙個容器,用於處理和表現類似keyvalue的鍵值對,其中key通常可用來快速查詢,同時key是區分大小寫 value用於儲存...

C 中HashTable的用法

一,雜湊表 hashtable 簡述 在.net framework中,hashtable是system.collections命名空間提供的乙個容器,用於處理和表現類似keyvalue的鍵值對,其中key通常可用來快速查詢,同時key是區分大小寫 value用於儲存對應於key的值。hashtab...

C 中HashTable的用法

一,雜湊表 hashtable 簡述 在.net framework中,hashtable是system.collections命名空間提供的乙個容器,用於處理和表現類似keyvalue的鍵值對,其中key通常可用來快速查詢,同時key是區分大小寫 value用於儲存對應於key的值。hashtab...