为什么要用ArrayList
/*
*集合
* 很多数据的集合,和数组的概念一样,
* 数组:长度不可变,类型单一,
* 集合:长度可以任意改变,类型不固定
* .count 这个集合实际包含的元素个数
* .capcity 这个集合可以包含的元素
* .Add
* .AddRange 可以添加一个集合、数组
* .clear 移除所有的元素,
* .Remove 删除单个元素,
* .RemoveAt 根据索引(下标)删除单个元素
* .Remove(0,3) 删除一定范围的元素
* .sort 升序 但是有时无法判断顺序
* .Reverse 反转元素
* .Insert(1,value) 指定的位置插入
* .Insert(1,new string [] {1,2,4})
* .Contains 判断是否包含某个指定的元素 bool b = list.Contains(1) 返回bool类型
*
* 里氏转换 将父类强转成子类 的前提是 父类里放了子类对象
*/
class JiHe
{
public void Jihe()
{
ArrayList list = new ArrayList();
list.Add(1);
list.Add(true);
list.Add("字符串");
list.Add(12.3);
list.AddRange(new int[] { 1, 2, 3, 5 });
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);
}
Console.WriteLine(list);
}
}
public void JiHe2()
{
ArrayList NewList = new ArrayList();
NewList.AddRange(new int[] { 1, 3, 5, 3, 6, 7, 8 });
int Sum = 0;
int Max = (int)NewList[0];
int Min = (int)NewList[0];
for(int i = 0; i < NewList.Count; i++)
{
Sum += (int)NewList[i];
if ((int)NewList[i] > Max)
{
Max = (int)NewList[i];
}
if ((int)NewList[i] < Min)
{
Min = (int)NewList[i];
}
}
double Average = Sum / NewList.Count;
Console.WriteLine("在集合中添加一个数组,且这个数组中的最大值是{0},最小值是{1},和是{2},平均值是{3}", Max, Min, Sum, Average);
}
public void ListMethod()
{
// 在一个集合中添加10个不相同的元素,
ArrayList XinList = new ArrayList();
Random r = new Random();
for(int i = 0; i < 10; i++)
{
int rnumber = r.Next(0, 20);
if (!XinList.Contains(rnumber))
{
XinList.Add(rnumber);
}
else
{
i--;
}
}
for(int i = 0; i < XinList.Count; i++)
{
Console.WriteLine(XinList[i]);
}
}