C#學習筆記15-集合之ArrayList
集合與數組
集合,類似於數組,但與數組存在很大的區別,更加便於存儲數據,主要區別在於:
1)集合可存儲任意長度的變量、而數組只能存儲固定長度的變量
2)集合可存儲任意類型的變量、而數組只能存儲固定類型的變量
3)集合可一次存儲長度很長的數組或其他,而數組一次只能存儲一種變量
集合的基本語法和常用方法
集合的基本語法
集合可以看作成一種類,因此在使用時需要先創建一個對象
ArrayList list = new ArrayList();
集合的常用方法
list.Add(1); //加入變量
list.Add("張三");
list.Add(new Person());
list.AddRange(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });//加入數組,如果數組元素不這樣添加,會不能正常顯示
list.Remove(1);//移除特定元素
list.RemoveAt(2);//按索引移除元素
list.RemoveRange(1, 3);//按範圍移除元素
list.Sort();//用於升序排列,比較數值類型
list.Reverse();//用於反轉
list.Insert(3, "帥");//在指定位置插入元素
list.Contains(5);//集合中是否包含某種元素
int x = list.Count;//集合中的成員數
int y = list.Capacity;//集合中所能放置最多的元素,會隨着成員數增加而增加
list.Clear();//清空所有元素
讀取ArrayList中元素
for (int i = 0; i < list.Count; i++)
{
if(list[i] is Person)
{
((Person)list[i]).SayHello();
}
else if(list[i] is int[])
{
for (int j = 0; j < ((int[])list[i]).Length; j++)
{
Console.WriteLine(((int[])list[i])[j]);
}
}
else
{
Console.WriteLine(list[i]);
}
Console.WriteLine(list[i]);
}
注 :上述讀取方法較爲複雜,如果存儲變量類型過多讀取不太方便,後續可以看到更加簡單的集合方法