ArrayList
很多数据的集合
创建:
class Program
{
static void Main(string[] args)
{
//ArrayList这个类是在System.Collections命名空间下 ,所以需要using 导入
ArrayList list = new ArrayList();
int[] arr = { 1, 2, 3 };
list.Add(1);
list.Add(1.23);
list.Add(true);
list.Add(arr);
list.Add(list);
for (int i = 0; i < list.Count; i ++)
{
Console.WriteLine(list[i]);
}
Console.Read();
}
}
打印结果:
注意:
(1)我们将一个对象输出到控制台,默认情况下,打印的就是这个对象所在类的命名空间,与显示调用ToString()方法,输出的结果一样。
ArrayList 的方法:
1、list.Add(Object value)
:参数是一个对象,根据里氏转换,即放什么类型的参数都可以, 通常添加单个元素;
2、list.Count
:列表中实际包含的元素个数
3、list.AddRange()
:通常向ArrayList添加一个数组或者集合;
对比Add,使用AddRange添加的数组,当我们输出集合中的每个元素时,数组元素将会被输出。
class Program
{
static void Main(string[] args)
{
//ArrayList这个类是在System.Collections命名空间下 ,所以需要using 导入
ArrayList list = new ArrayList();
int[] arr = { 1, 2, 3 };
list.AddRange(arr);
for (int i = 0; i < list.Count; i ++)
{
Console.WriteLine(list[i]); // 1 2 3
}
Console.Read();
}
}
4、list.Clear( ) 清除所有元素;
5、list.Remove( ) 指定删除单个元素(参数可为任意类型);
class Program
{
static void Main(string[] args)
{
//ArrayList这个类是在System.Collections命名空间下 ,所以需要using 导入
ArrayList list = new ArrayList();
list.Add(1);
list.Add(true);
list.Remove(true);
for (int i = 0; i < list.Count; i ++)
{
Console.WriteLine(list[i]); // 1
}
Console.Read();
}
}
6、list.RemoveAt ( int index )
根据列表索引,删除元素;
7、list.RemoveRange( int index, int Count )
从指定索引开始删除元素,参数二为要删除元素的个数;
8、list.Sort ( )
升序排列
9、list.Reverse ( )
反转
10、list.Insert(int index,Object value)
在指定的索引处,插入任何类型的元素
11、list.InsertRange(int index, list)
在指定索引处,插入一个集合或数组
12、list.Contains( object value )
判断集合中是否包含此参数
ArrayList 的优点:
(1)长度可以任意改变;
(2)类型不是固定的;
ArrayList 的长度问题:
(1)每次集合中实际包含的元素个数(Count),超过了可以包含的元素个数(Capacity)的时候,集合就会向内存中申请多开辟一倍的空间,来保证集合的长度一直够用。
class Program
{
static void Main(string[] args)
{
//ArrayList这个类是在System.Collections命名空间下 ,所以需要using 导入
ArrayList list = new ArrayList();
list.Add(1);
list.Add(true);
Console.WriteLine($"{list.Count}, {list.Capacity}"); // 1
Console.Read();
}
}