初面网初面网

集合

为了存储长度不固定的同类型数据,我们需要新的数据存储方式。

集合类(List)就是这种新的存储方式。

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。

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(), 从小到大排序

更新于 2025/2/26