2009年8月4日 星期二

使用ArrayList集合(M03)

使用ArrayList集合

1、定義在System.Collections命名空間,實作IList介面

2、使用循序的方式儲存項目,可使用數值索引存取其中的項目
=>Index ,元素
=>1 ,Tim
=>2 ,John
=>3 ,Mary

3、 可以動態地增加ArrayList中的項目

4、常用屬性
Count:可得知項目數目
Capacity:可得知系統預先配置來存放的空間,預設為16

5、 常用方法
Add:新增項目到ArrayList
Dim i As Integer
Dim lst As New ArrayList()
For i = 0 To 14
lst.Add(i)
Next i
Insert:新增項目到特定位置。
Dim lst As New ArrayList()
lst.Insert(0,”Hello Vivid”)
Contains:判斷ArrayList中是曾咆含某個特定的值。
IndexOf:可得知某個項目在ArrayList的索引值。
Sort:利用QuickSort演算法來排序ArrayList中的項目。
Dim lst As New ArrayList()
lst.Sort()
Remove:用來移排ArrayList中的項目。
RemoveAt:可移除特定索引值的項目。
Clear:清除所有項目
TrimToSize:將Capacity設定可容納ArrayList項目的最小容量。

6、 程式實例
 
'建立ArrayList實體
Dim lst As New ArrayList()
'ArrayList常用的屬性和方法
lst.Add(25)
lst.Add(62)
lst.Add(98)
lst.Add(32)
For Each i As String In lst
Console.WriteLine("排序前: {0}", i)
Next i
lst.Sort()
For Each i As String In lst
Console.WriteLine("排序後: {0}", i)
Next i
Console.Read()

使用ArrayList的考量

  • 適用於重態新增項目的物件存取上,特別是新增、刪除集合項目很頻繁時。
  • 如ArrayList項目不再變動的情況下,呼叫TrimToSize方法,固定它的大小,這樣可以最佳化記憶體的使用,如果已呼叫TrimToSize固定大小,後續又持續新增項目到其中,會造成效能變差,因為ArrayList需動態增加大小。


沒有留言:

張貼留言