可以將集合看成長度可變的,有很多方法的陣列。
1.新增資料
往集合裡面新增資料 : Add( ) (新增的內容,無限新增)
新增int陣列,要遍歷出來 通過下標可以改變某個索引的值
2.集合插入資料的方法
①通過建構函式可以新增一個陣列
②通過Add()方法可以新增陣列-----------------但是算成一個元素
通過AddRange()也可以新增陣列------------陣列中元素的數量
int [] nums = new int [] {1,2,3,4,5};
arrayList.AddRange(nums);
③集合插入資料
ArrayList al = new ArrayList();//範例化
al.Add(1);
al.Add(3);
al.Add(5);
al.Add(7);
al.Add(9);
for (int i = 1; i <=10; i+=2)
{
al.Insert(i, i + 1);
}
for (int i = 0; i < al.Count ; i++)
{
Console.WriteLine(al[i]);
}
Console.ReadKey();
3.集合的常用方法
al.Clear();//清空
al.Contains(2);//判斷這個集合中是否包含這個元素
int number = al.IndexOf(2);//找某一個元素對應的索引
al.InsertRange(4,nums);//往某一個索引位置插入一個陣列
al.Remove(1);
al.RemoveAt(1);//移除索引對應的值
al.RemoveRange(3, 100);//從指定索引處開始移除,移除多少個,超出索引報異常
al.Reverse();//反轉
al.Sort();//排序
4.集合練習1:求集合元素總和和平均值
static void Main(string[] args)
{
ArrayList arraylist = new ArrayList();
int sum = 0;
for (int i = 1; i <= 100; i++)
{
arraylist.Add(i);
//為什麼 sum += (int)arraylist[i];不寫到這?下標到99
}
for (int i = 0; i < arraylist .Count ; i++)
{
if(arraylist [i] is int)//判斷是否可以轉換為int型別
{
sum += (int)arraylist[i];//強制轉換
}
}
double avg = sum * 1.0 / arraylist.Count;
Console.WriteLine(sum);
Console.WriteLine(avg);
Console.ReadKey();
}
集合練習2:隨機往結合中新增10個資料,不能重複,在求和與平均值
ArrayList arr = new ArrayList();
Random r = new Random();
while (arr.Count!=10)
{
int num = r.Next(1, 100);
if (!arr.Contains (num))
{
arr.Add(num);
}
}
int sum = 0;
for (int i = 0; i < arr.Count; i++)
{
if(arr[i] is int)
{
sum += (int)arr[i];
}
Console.WriteLine(arr[i]);
}
double avg = sum * 1.0 / arr.Count;
Console.WriteLine(sum);
Console.WriteLine(avg);
Console.ReadKey();