ArrayList集合
使用ArrayList集合需要添加using System.Collections;命名空间
1、ArrayList常用方法一
class Program
{
static void Main(string[] args)
{
//创建了一个集合对象
ArrayList list = new ArrayList();
//集合:很多数据的一个集合
//数组:长度不可变、类型单一
//集合的好处:长度可以任意改变 类型随便
list.Add(1);
list.Add(3.14);
list.Add(true);
list.Add("张三");
list.Add('男');
list.Add(5000m);
list.Add(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });
Person p = new Person();
list.Add(p);
list.Add(list);
//list.AddRange(new string[]{})
//循环输出
for (int i = 0; i < list.Count; i++)
{
//如果集合中的元素可以转换为Person,则输出这个
if (list[i] is Person)
{
((Person)list[i]).SayHello();
}
//如果集合中的元素可以转换成数组则输出
//但是,目前数组的准换存在一定的问题,会输出所在命名空间
//如果是输出数组请看下面例子
else if (list[i] is int[])
{
for (int j = 0; j < ((int[])list[i]).Length; j++)
{
Console.WriteLine(((int[])list[i])[j]);
}
}
else
{
Console.WriteLine(list[i]);
}
//Console.WriteLine(list[i]);
}
Console.ReadKey();
}
}
public class Person
{
public void SayHello()
{
Console.WriteLine("我是人类");
}
}
2、ArrayList常用方法二
// list.AddRange(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });//添加
//list.AddRange(list);//添加集合
//list.Clear();//清空所有元素
//list.Remove(true);//删除单个元素 写谁就删谁
//list.RemoveAt(0);//根据下标去删除元素
//list.RemoveRange(0, 3);//根据下标去移除一定范围的元素
// list.Sort();//升序排列
//list.Reverse();//反转
//list.Insert(1, "插入的");//在指定的位置插入一个元素
//list.InsertRange(0, new string[] { "张三", "李四" });//在指定的位置插入一个集合
//bool b = list.Contains(1);//判断是否包含某个指定的元素
class Program
{
static void Main(string[] args)
{
ArrayList list = new ArrayList();
//添加单个元素
list.Add(true);
list.Add(1);
list.Add("张三");
//添加集合元素
list.AddRange(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });
//list.AddRange(list);
//list.Clear();//清空所有元素
//list.Remove(true);//删除单个元素 写谁就删谁
//list.RemoveAt(0);//根据下标去删除元素
//list.RemoveRange(0, 3);//根据下标去移除一定范围的元素
// list.Sort();//升序排列
//list.Reverse();//反转
//list.Insert(1, "插入的");//在指定的位置插入一个元素
//list.InsertRange(0, new string[] { "张三", "李四" });//在指定的位置插入一个集合
//bool b = list.Contains(1);//判断是否包含某个指定的元素
list.Add("颜世伟");
if (!list.Contains("颜世伟"))
{
list.Add("颜世伟");
}
else
{
Console.WriteLine("已经有这个屌丝啦");
}
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);
}
Console.ReadKey();
}
}
3、集合长度
每次集合中实际包含的元素个数(count)超过了可以包含的元素的个数(capcity)的时候,
集合就会向内存中申请多开辟一倍的空间,来保证集合的长度一直够用。
class Program
{
static void Main(string[] args)
{
ArrayList list = new ArrayList();
list.Add(1);
list.Add(1);
list.Add(1);
list.Add(1);
list.Add(1);
list.Add(1);
list.Add(1);
list.Add(1);
list.Add(1);
Console.WriteLine(list.Count);
Console.WriteLine(list.Capacity);
Console.ReadKey();
//count 表示这个集合中实际包含的元素的个数
//capcity 表示这个集合中可以包含的元素的个数
}
}