2018-10-18集合类 列表List

当我们有跟多类型一样的数据的时候,我们可以使用集合类来进行管理,比如列表List,我们可以使用列表List很方便的添加数据,删除数据还有其他操作。

(数组的缺点:数组的大小是固定的,不能增加数据)

using System.Collections.Generic;//List需要引入命名空间

using System.Collections.Generic;

列表内部数据是使用数组进行存储的,一个空的列表内部会有一个长度为0的数组, 当给数组添加 1-4个数据时,列表的长度会自动扩大为4,如果添加第5个数据的时候,列表会自动扩容为8,如果列表添加第9个数据的时候,列表的长度会自动扩大到16,……,以此类推。当列表中的容量发生变换的时候,它会自动创建一个新的数组,使用Array.Copy()方法将旧数组的中的所有元素复制到新的数组中。为了节省时间,如果事先知道要存储的数据的个数,就可以利用列表的构造函数指定列表的容量大小。

List<int> intlist = new List<int>(10);//创建一个容量为10的列表,当容量不够时,每次都会按照原来容量的2倍进行扩容。

using System.Collections.Generic;//List需要引入命名空间
     
       //空列表的创建
            List<int> scoreList1 = new List<int>(); //创建一个空的列表,通过<>声明列表储存的数据类型
            var scoreList2 = new List<int>();

            //创建列表并初始化数据
            var scoreList3 = new List<int>() {1, 2, 3, 4, 5, 6, 7, 5, 2, 9, 3, 4};
            List<int> scoreList4 = new List<int>() {1, 2, 2, 3};
            List<int> intlist = new List<int>(10);

            scoreList3.Add(50); //列表末尾插入数据
            scoreList3.Insert(0, 963); //在指定索引处插入指定数据
            scoreList3.Remove(2); //删除指定数据的第一个匹配项
            scoreList3.RemoveAt(3); //删除指定索引的数据
            //scoreList3.Clear();//移除列表中的所有元素

            int indexOf = scoreList3.IndexOf(7); //获取指定数据的第一个元素的索引,如过没有则返回-1
            int lastIndexOf = scoreList3.LastIndexOf(7); //获取指定数据 从后往前的第一个匹配项的索引,如果没有返回-1
            int cap = scoreList3.Capacity; //获取列表的容量
            int cou = scoreList3.Count; //获取列表的长度 数据的个数
           
            Console.WriteLine($"{cap},{cou}");
          
            foreach (var i in scoreList3)
            {
                Console.Write(i+" ");
            }

            Console.WriteLine();
            scoreList3.Sort();
            foreach (var i in scoreList3)
            {
                Console.Write(" "+i);
            }

            //空列表的创建
            List<int> scoreList1 = new List<int>(); //创建一个空的列表,通过<>声明列表储存的数据类型
            var scoreList2 = new List<int>();

            //创建列表并初始化数据
            var scoreList3 = new List<int>() {1, 2, 3, 4, 5, 6, 7, 5, 2, 9, 3, 4};
            List<int> scoreList4 = new List<int>() {1, 2, 2, 3};
            List<int> intlist = new List<int>(10);

            scoreList3.Add(50); //列表末尾插入数据
            scoreList3.Insert(0, 963); //在指定索引处插入指定数据
            scoreList3.Remove(2); //删除指定数据的第一个匹配项
            scoreList3.RemoveAt(3); //删除指定索引的数据
            //scoreList3.Clear();//移除列表中的所有元素

            int indexOf = scoreList3.IndexOf(7); //获取指定数据的第一个元素的索引,如过没有则返回-1
            int lastIndexOf = scoreList3.LastIndexOf(7); //获取指定数据 从后往前的第一个匹配项的索引,如果没有返回-1
            int cap = scoreList3.Capacity; //获取列表的容量
            int cou = scoreList3.Count; //获取列表的长度 数据的个数
           
            Console.WriteLine($"{cap},{cou}");
          
            foreach (var i in scoreList3)
            {
                Console.Write(i+" ");
            }

            Console.WriteLine();
            scoreList3.Sort();
            foreach (var i in scoreList3)
            {
                Console.Write(" "+i);
            }
 

猜你喜欢

转载自blog.csdn.net/qq_31726339/article/details/82972011