泛型集合,可以取代ArrayList
List<int> list = new List<int>();
方法名 | 作用 |
---|---|
Add() | 添加元素 |
AddRange | 添加一个集合 |
ToArray() | 将集合转数组 |
数组有个方法叫ToList(),可以将数组转成集合;
装箱与拆箱
把值类型转换为为引用类型叫装箱,把引用类型转换为值类型称为拆箱;
装箱和拆箱会是运行时的操作,会使程序运行时间长,而使用泛型集合在编译的时候生成的是指定的类型;
看两种类型是否发生了装箱或者拆箱,要看,这两种类型是否存在继承关系,有继承关系才有可能发生装箱操作;
类名 | 元素类型 | 是否发生拆装箱 | 运行时间 |
---|---|---|---|
list | 确定且唯一 | 否 | 比较短 |
ArrayList | 不确定,可有很多种 | 是 | 时间长 |
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace List泛型集合
{
class Program
{
static void Main(string[] args)
{
ArrayList list = new ArrayList();
//ArrayList 程序用时:00:00:00.1229805
//list 程序用时:00:00:00.0276141
//List<int> list = new List<int>();
list.Add(0);
list.Add(0);
Console.WriteLine(list.Count);
Stopwatch sw = new Stopwatch();
sw.Start();
for (int i = 0; i < 1000000; i++)
{
list.Add(i);
}
sw.Stop();
Console.WriteLine("程序用时:"+sw.Elapsed);
Console.ReadKey();
}
}
}
原文地址:http://blog.csdn.net/zhzz2012/article/details/46012171