List<T>泛型集合

 ArrayList集合和和list集合最大的区别在于:使用 ArrayList集合没有确定的类型,因此在执行时需要进行装拆箱,影响效率。所以能使用list集合时尽量使用list集合,提高程序执行效率。

下面会使用一个例子展示 ArrayList集合和和list集合

1、创建泛型集合对象

//创建一个int类型泛型集合的变量  
List<int> list = new List<int>();

2、通过ADD向集合中添加数据

              //创建泛型集合对象
            List<int> list = new List<int>();
            向集合中添加数据
            list.Add(1);
            list.Add(2);
            list.Add(3);

3、通过AddRange向集合 中添加数据

AddRange方法传入的时AddRange(IEnumerable<T> collection),因此我们可以向集合集合中添加一个数组或者一个集合。

            //创建泛型集合对象
            List<int> list = new List<int>();
             //使用AddRange向集合中添加数据,可以添加一个反省集合的数组或者一个集合,因为AddRange方法内传入的值时AddRange(IEnumerable<T> collection)
            //添加一个数组
            list.AddRange(new int[] { 1, 2, 3, 4, 5, 6 });
            //添加一个添加一个集合,此处是将集合自己本身添加进去。也可以添加和其他集合类型相同的集合
            list.AddRange(list);

4、泛型集合的ToArray方法。 可以将集合转换为相同类型的数组

//创建泛型集合对象
List<string> listStr = new List<string>();
//通过ToArray方法将集合转换为数组
string[] str = listStr.ToArray();

5、将数组转换为对应类型的集合,使用ToList()

 //将数组转换为对应类型的集合,使用ToList()
            char[] chs = new char[] { 'c', 'b', 'a' };
            List<char> listChar = chs.ToList();
            //通过循环遍历数据,查找集合中的元素
            for (int i = 0; i < listChar.Count; i++)
            {
                Console.WriteLine(listChar[i]);
            }

6、 ArrayList集合和和list集合执行效率

          ArrayList list = new ArrayList();
            //这个循环发生了100万次装箱操作
            Stopwatch sw = new Stopwatch();
            //程序执行时间00:00:02.4370587
            sw.Start();
            for (int i = 0; i < 10000000; i++)
            {
                list.Add(i);
            }
            sw.Stop();
            Console.WriteLine(sw.Elapsed);
            Console.ReadKey();
  List<int> list2 = new List<int>();
            Stopwatch sw = new Stopwatch();
            //程序执行时间00:00:00.2857600
            sw.Start();
            for (int i = 0; i < 10000000; i++)
            {
                list2.Add(i);
            }
            sw.Stop();
            Console.WriteLine(sw.Elapsed);
            Console.ReadKey();

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值