黑馬程式設計師 陣列與集合

2021-06-06 09:46:21 字數 4559 閱讀 2429

---------------------- windows phone 7手機開發、.net培訓、期待與您交流! ---------------------- ----------------------

陣列:繼承自array類

命名空間:using system.collections.generic;

陣列的長度為固定的。

方法:提供建立、操作、搜尋和排序陣列的方法。下面都是靜態的,使用時前面加上 array

binarysearch():使用二進位制(二分法)搜尋值,但之前要排序。

clear():將array一系列元素設定為零、false或null,具體依陣列的型別。要指定範圍。

constrainedcopy():將源array複製到另乙個array。可以設定範圍,未成功則回滾。

copy():乙個array中的一部分複製到另乙個array中。

copyto():將當前array的所有元素複製到另乙個array中。

indexof():返回array中某個值的第乙個匹配項的索引。

sort():對array中的元素進行排序。公升序。

屬性:

isfixedsize:指示array是否具有固定大小。

isreadonly:指示array是否唯讀。

length:表示array中所有維數中元素的個數。

例項**:

public int  sz;//初始化陣列的大小

public bool szbl = false;

private void button1_click(object sender, eventargs e)

; //初始化6個元素

msg("陣列初始化成功!");

szbl = true;

}public void msg(string s)

private void btnaylength_click(object sender, eventargs e)

int i = sz.length;//返回陣列的長度,元素的個數;

string s = string.format("陣列的容量為", i);

msg(s);

}private void btnayindexof_click(object sender, eventargs e)

int i = int.parse(txtay.text.trim()); //獲取查詢的值

int zb = array.indexof(sz, i); //查詢方法 array.indexof()

string s;

if (zb == -1)

else

個位置!",zb+1);

}msg(s);

}private void btnaysort_click(object sender, eventargs e)

msg(s);

msg("排序後的元素");

s = "";

array.sort(sz); //排序的方法,從小到大。

foreach (int ys in sz)

msg(s);

}private void btncopyto_click(object sender, eventargs e)

msg("老陣列:");

msg(s);

s = "";

foreach (int ys in xsz)

msg("新陣列:");

msg(s);

}private void btnclear_click(object sender, eventargs e)

集合: arraylist類命名空間為:using system.collections;具有常規陣列的類似功能,並能動態調整集合的大小。向當前大小少於其容量的arraylist插入元素非常快,向需要增大空間來容納新元素的arraylist插入元素比較慢。

如果arraylist需要增大容量,預設情況下會將容量增大為當前值的2 倍。

方法:

add:將物件新增到arraylist的結尾處。

addrange:可以將集合新增到此arraylist中。

clear:移除所有的元素。

contains:確定某元素是否在arraylist中。

indexof:返回指定物件第一次出現時的索引值。

remove:移除指定物件的第乙個匹配。

removeat:移除指定索引位置上的物件,後面的物件下標向前移動。

sort:對arraylist進行排序。公升序。

trimtosize:將capacity的大小設為當前所包含的元素的個數。

屬性:

capacity:獲取或設定arraylist可包含的元素值。

count:獲取arraylist實際包含的元素數。

**示例:

public void msg(string s)

public arraylist jihe;

private void btnaylistin_click(object sender, eventargs e)

; //初始化集合

msg("集合初始化成功!");

}private void btnaylcount_click(object sender, eventargs e)

,允許的元素為",i,jihe.capacity);

msg(s);

}private void btnaylsort_click(object sender, eventargs e)

msg(s);

msg("排序後的元素");

s = "";

jihe.sort(); //對集合進行排序,公升序。

foreach (int ys in jihe)

msg(s);

}private void btnaylindex_click(object sender, eventargs e)

int i = int.parse(txtaylist.text.trim()); //所要查詢的值

int zb = jihe.indexof(i); //根據值查詢下標,如果不存在 返回-1

string s;

if (zb == -1)

else

個位置!", zb + 1);

}msg(s);

}private void btnayladd_click(object sender, eventargs e)

int i = int.parse(txtaylist.text.trim());

jihe.add(i); //呼叫.add方法,向集合新增元素

string s = string.format("加入的元素為", i);

陣列與集合的區別:

1.陣列大小固定,集合可以調整。

2.獲取元素的總算:陣列的屬性是length ,集合的是count。

3.清空元素的值:都是呼叫clear方法,陣列需要有範圍:第二個引數為起始的下標,第三個引數為要清空的長度。 集合直接呼叫clear()清空所有的元素。

---------------------- windows phone 7手機開發、.net培訓、期待與您交流! ---------------------- ----------------------

黑馬程式設計師 集合

collection list 元素是有序的,元素可以重複。因為該集合體系有索引。arraylist 底層的資料結構使用的是陣列結構。特點 查詢速度很快。但是增刪稍慢。執行緒不同步。linkedlist 底層使用的鍊錶資料結構。特點 增刪速度很快,查詢稍慢。執行緒不同步。vector 底層是陣列資料...

黑馬程式設計師 集合

asp.net unity開發 net培訓 期待與您交流!1.集合類 為什麼會出現集合類?面對物件語言對事物的體現都是以物件的形式,所以為了方便對多個物件的操作,就對物件進行儲存,集合就是儲存物件最常用的一種方式。集合類的特點 集合只用於儲存物件,集合的長度是可變的,集合可以儲存不同型別的物件。集合...

黑馬程式設計師 集合

集合 string類 字串是乙個特殊的物件。字串一旦初始化就不可以被改變。string str abc string str1 new string abc 基本資料型別物件包裝類 將基本資料型別封裝成物件的好處在於可以在 物件中定義更多的功能方法操作該資料。常用的操作之一 用於基本資料型別與字串 ...