標籤:style blog io ar color 使用 sp strong on
.Net 視頻學習第2季 C#物件導向
物件導向 ArrayList
數組:類型單一(除非是父類數組,子類對象作元素---注意元素還是被認為是父類對象!),長度固定
int[] a = new int[10];
集合:命名空間System.Collections
ArrayList list = new ArrayList();
往集合裡邊添加資料
list.Add(1);
對同一個集合,可以往裡邊添加任意類型的資料。(注意Add()方法的輸入參數是object類,是所有類型的基類)
ArrayList沒有Length屬性,不過有Count屬性,本質一樣。
int a =list.Count;
從上邊可以看出集合至少比數組在兩方面有優勢,第一是不用考慮元素類型是否一致,第二是不用考慮長度問題。
再次強調一點,Add()放進集合的元素都會被視作object類的對象,而不是元素本身的類的對象!!
(放資料很爽,用資料很苦逼————要資料類型轉換)
往集合添加資料(集合類型)的另一個方法:AddRange(),添加的時候就已經知道是集合類型,注意不是整個數組當成一個元素!
list.Add(1);
int[] a = new int[]{1,2,3}list.AddRange(a);
清空:list.Clear();
清除某一項:list.Remove(X); 刪除集合list中第一個X
通過下標清除某一項:list.RemoveAt(int a);
刪除一個下標範圍內的項:list.RemoveRange(int a, int b); a是刪除的第一個項的下標,b是清除範圍的長度
集合元素順序反轉:list.Reverse(); 注意,如果集合類型通過AddRange()作為元素放在集合中,集合reverse連這個元素內部的資料都會反轉
插入元素:list.Insert(int a, X); 在下標a處插入資料X
插入集合:list.InsertRange(int a, L);
判斷是否有某元素:list.Contains(X); 和Add()配合使用往集合添加元素
count屬性:當前元素個數
capcity屬性:可容納的元素個數
當count大於capcity時,向記憶體申請多一倍的空間(開闢新空間兩倍於原空間,複製資料,銷毀原空間)
所以要注意,往空集合添加元素時不要用list.Count作為迴圈判斷,因為剛剛new出來的ArrayList,Count和Capcity都是0。
.Net學習 第2季05 C#物件導向 ArrayList