http://anony3721.blog.163.com/blog/static/5119742010728102932277/
1、什麼是ArrayList
ArrayList就是傳說中的動態數組,用MSDN中的說法,就是Array的複雜版本,它提供了如下一些好處:
動態增加和減少元素;實現了ICollection和IList介面;靈活的設定數組的大小。
2、如何使用ArrayList
最簡單的例子:
ArrayList List = new ArrayList();
for( int i=0;i<10;i++ ) //給數組增加10個Int元素 List.Add(i);
//..程式做一些處理
List.RemoveAt(5);//將第6個元素移除
for( int i=0;i<3;i++ ) //再增加3個元素
List.Add(i+20);
Int32[] values = (Int32[])List.ToArray(typeof(Int32));//返回ArrayList包含的數組
這是一個簡單的例子,雖然沒有包含ArrayList所有的方法,但是可以反映出ArrayList最常用的用法。
C# 不支援動態數組,用 ArrayList 可以實現動態數組的功能。
ArrayList 的名稱空間是 System.Collections。
ArrayList 元素類型
和數組不同,ArrayList 的各個元素的類型可以不同。
聲明對象
//聲明 ArrayList 有三種重載方法,較常用的有兩種
ArrayList al = new ArrayList();
ArrayList al = new ArrayList(3);
上例中,參數值 3 表示容量,即可以容納多少個元素。
ArrayList對象就是一個可變長的數組,可以根據需要添加元素.使用ArrayList的方法可以向數組列表中添加元素,或取出,修改某個元素.如:ArrayList MyArrayList = new ArrayList();MyArrayList.add("Caoxi");MyArrayList.Clear();
ArrayList中取出的對象都是object類型,使用前要將其轉換成合適的類型.ArrayList theArrayList = new ArrayList();theArrayList.Add("1");theArrayList.Add("2");string s = (string)theArrayList[0];string s1 = (string)theArrayList[1];注意Contains()方法 如果ArrayList中包含參數提供的對象,則返回true,否則返回falseif (theArrayList.Contains("1")) //判斷字元"1"是否存在於ArrayList ---------------------------------------------------------------------------------------------
在C#當中,集合有我們常用C# Arraylist(動態數組),Hashtable(關健字和值的尋找表)和不常用的BitArray(位元組),Queue(先進先出的集合),SortedList(有序例表),Stack(後進先出的棧)等等。
其實集合就是將一組有序的資料群組合在一起並能對其進行有效處理。在這裡我們主要介紹常用C# Arraylist與Hashtable。
Arraylist
類似於一維動態數組,在Arraylist中可以存放任何對像,Arraylist的常用方法有以下三種:增加元素Add(),插入元素Insert(),刪除元素Remove()。
- using System.Collections;
- public static void Main()
- {
- ArrayList arr = new ArrayList();
- arr.Add(10);//為集合添加一個值
- arr.Add(10);//添加第二個值
- arr.Insert(0, 8);//在第0索引位置插入一個值8
- Console.WriteLine(arr.IndexOf(10, 2));
- //搜尋指從索引從0到2的值為10的數量.
- foreach (int a in arr)//遍曆集合arr
- {
- Console.WriteLine(a);
- }
-
- }
Hashtable
是用來存入鍵/值對的集合,如果有需要同時存放鍵並對應有值的時候我們可以用Hashtable 。