Appearance
集合
为了存储长度不固定的同类型数据,我们需要新的数据存储方式。
集合类(List)就是这种新的存储方式。
csharp
public class App
{
static void Main(string[] args)
{
List<int> nums = new List<int>() { 1 }; // 创建。可以不用花括号写入初始值: new List<int>();
Console.WriteLine(nums.Count);
nums.Add(2); // 添加数据
nums.Add(3);
Console.WriteLine(nums.Count); // 获得长度
for (int i = 0; i < nums.Count; i++) // 遍历集合
{
Console.WriteLine(nums[i]); // 访问集合里的元素
}
Console.WriteLine(nums[1]);
foreach(int num in nums) // 第二种遍历方式,可以直接访问元素
{
Console.WriteLine(num);
}
Console.ReadKey();
}
}
列表的容量在不够的时候会成倍增长。一开始是0,然后是2,4,8,16....
计算长度也需要时间(尽管极短)。为了节约性能,如果确定初始长度,可以像下面这样写好长度,省去电脑自动计算长度的时间。
List<int> nums = new List<int>(10); // 小括号里的10就是初始长度。不写的话默认是0。
csharp
public class App
{
static void Main(string[] args)
{
List<int> nums = new List<int>(10);
Console.WriteLine(nums.Capacity); // 集合的容量
Console.WriteLine(nums.Count); // 集合内元素数量
Console.ReadKey();
}
}
属性和方法
Count和Capacity已经介绍过了,Add方法同样。还有其他一些方法
Insert(索引,值), 插入元素。索引的值不可以超过最大元素索引+1
RemoveAt(索引), 移除指定下标位置的元素
IndexOf(索引), 获取某个元素所在的索引位置
LastIndexOf(索引), 同上,只是从后往前查找
Sort(), 从小到大排序