一 动态数组的定义:
动态数组(ArrayList)代表了可被单独索引的对象的有序集合。它基本上可以替代一个数组。但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。它也允许在列表中进行动态内存分配、增加、搜索、排序各项。
二 动态数组的属性:
三 动态数组的方法
四 控制台中的代码:
ArrayList all = new ArrayList();
all.Add(5);
all.Add("字符串");
Console.WriteLine(all.IsReadOnly);// false
all.Insert(2, "C#");
ArrayList other = new ArrayList() { 1,6,9,"英莱特"};
all.AddRange(other);
Console.WriteLine(all[1]);//字符串
Console.WriteLine(all.Capacity);//8
Console.WriteLine(all.Count);//7
foreach (object item in all)
{
Console.Write(item+" "); //5 字符串 C# 1 6 9 英莱特
}
Console.WriteLine();
Console.WriteLine(all.Contains("C#")); //true
Console.WriteLine(all.IndexOf("C#", 0));//2
other.InsertRange(1, all);
foreach (object item in other)
{
Console.Write(item + " "); //1 5 字符串 C# 1 6 9 英莱特 6 9 英莱特
}
Console.WriteLine();
all.Remove("C#");
foreach (object item in all)
{
Console.Write(item + " "); //5 字符串 1 6 9 英莱特
}
Console.WriteLine();
all.RemoveAt(3);
foreach (object item in all)
{
Console.Write(item + " "); //5 字符串 1 9 英莱特
}
Console.WriteLine();
all.RemoveRange(1, 3);
foreach (object item in all)
{
Console.Write(item + " "); //5 英莱特
}
Console.WriteLine();
all.Reverse();
foreach (object item in all)
{
Console.Write(item + " ");
}
Console.WriteLine(); //英莱特 5
other.SetRange(0, all);
foreach (object item in other)
{
Console.Write(item + " "); //英莱特 5 字符串 C# 1 6 9 英莱特 6 9 英莱特
}
Console.WriteLine();
Console.ReadLine();