ArrayList集合,类似于一个object数组
期中的操作都跟数组差不多
代码:
ArrayList arrayList = new ArrayList();
//增加元素
arrayList.Add(1);
arrayList.Add(99.9);
arrayList.Add("hello");
Person p = new Person();
p.Name = "张三";
arrayList.Add(p);
arrayList.Add(false);
//在指定索引处插入一个新元素
arrayList.Insert(0, "============");
int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
string[] names = new string[] { "乔丹", "科比", "韦德" };
//通过调用AddRange()把另一个数组或者集合加到当前arrayList中。
arrayList.AddRange(arr);
arrayList.AddRange(names);
ArrayList arrList2 = new ArrayList();
arrList2.Add("中国");
arrList2.Add("美国");
arrList2.Add("韩国");
//清空集合
arrayList.Clear();
//默认创建好一个空的ArrayList后,Count是0.
//Count表示,集合中实际元素的个数。
//Capacity表示容量。容量一般大于实际个数,偶尔会等于
>ArrayList的删除,通过下标删除用Removat();没删除一个其他的下标也会跟着动
Remove直接删除内容
>Contains()方法内部判断两个值是否相等,也是通过Equals()方法来判断的。
>ArrayList的Sort排序方法
ArrayList排序的方法与其他数组的排序方法一样都是用Sort()方法
我们也可以通过编写不同的比较器,实现ArrayList的Sort()方法的不同方式排序
/// <summary>
///按照姓名长度降序排序
/// </summary>
class PersonSortByNameLengthDesc : IComparer
{
public int Compare(object x, object y)
{
Person p1 = x as Person;
Person p2 = y as Person;
if (p1 != null && p2 != null)
{
return p2.Name.Length - p1.Name.Length;
}
else
{
throw new ArgumentException();
}
}
//ArrayList array = new ArrayList ();
array.Sort(new PersonSortByNameLengthDesc );