Arraylist本质:是C#封装好的类,是object类型的类=万物之父,是一个万物之父数组(里面存放的任何东西都叫对象object)
ArrayList a = new ArrayList();//创建一个万物之父的对象
//增
a.Add(1223);//因为是万物之父基类数组,所以可以存放任何类型
a.Add(null);
a.Add(123);
a.Add(new zilei());//也可以存放其他类
ArrayList a2 = new ArrayList();
a2.Add(12121212);
a2.Add("神奇");
a2.AddRange(a);//addrange(增加范围),相当于将a中的所有内容都加到a2中---------------------------------
a2.Insert(1,9999999);//插入的下标(在下标前面插入,被插入的下标及后面下标都+1),插入什么?--------------
a2.insertrange(1,new string[]{"张三","李四","王五"});-----------------------------------------------------------
Console.WriteLine("chofghdfhji {0} ",a2[2]);
//删
a.Remove(123);//将123移除,若有多个123,则先移除最前面那个
a.RemoveAt(2);//移除下标2的对象0,1,2
a.Clear();//清空-------------------------------------------------------------------------------------------------
//查
Console.WriteLine(a2[0]);//查找第0下标的元素
if(a2.Contains("神奇"))//查找是否含哟特定元素----------------------------------------------------------------
{
Console.WriteLine("a2里面含有神奇");
}
int i = a2.IndexOf(1203);//查找 123 在a2里的下标,并返回值下标到i中(如果没有则返回-1)
int i2 = a2.LastIndexOf(123);//查找最后一个123下标----------------------------------------------------------
Console.WriteLine(i);
//改
a2[2] = 1008611;//直接更改
Console.WriteLine(a2[2]);
a2.reverse();//反转---------------------------------------------------------------------------------------------
a2.sort();//升序排列--------------------------------------------------------------------------------------------
//遍历
int i3= a2.Count;//长度用count(总量) 不是length
Console.WriteLine(i3);
for(int b=0;b<a2.Count;++b)
{
Console.WriteLine(a2[b]);
}
int i4=a2.Capacity;//总容量,count指的是a2中总共现在有多少元素,而capacity指的是总容量(总量!=总容量)开始4,8,16,32,64,128------------------------
//迭代器遍历
foreach(object ha in a2)//括号里:object类型 存放到ha里 in 遍历谁?(只读不改变)
{
Console.WriteLine(ha);
}
//装箱拆箱
//装箱:把栈转堆上,拆箱:堆转到栈上(就是值和引用类型的转换)
int t1 = 9;
a2[0] = t1;//装箱
t1 =(int )a2[0];//拆箱,强转