泛型和泛型集合的区别?

谢谢、、... 谢谢 、 、 展开
 我来答
百度网友66a8d48e5
2012-05-06 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3890万
展开全部
其实不应该说是两者的区别的,他们是一个包含的关系!

在面向对象编程中有一个术语,叫泛化,而这个泛型的来源正是来源于这里!所谓的泛型就是指的存储的是其父类型,而实现使用时声明好子类型而已。

不管是在java还是C#中,所有的类型都是基于object这个基础类型的。可以认为所有的其他类型都是object的泛型。

而泛型集合指的就是将这些泛型放在一起的集合,但在使用前必须选进类型加以加说明。

如List<T>就是一个泛型集合,可以将所有的泛合放在该集合中来。但前提时必须选声明T的类型,否则不能进行放入。这个涉及到了存储的问题,当初如果我们对于一些集合来说,比如我们可以声明这样的数组int[] a = new int[10];一旦声明,其大小不可改变,如果事选我们不知道要存入多少个,假定在存10个int,你用int[] a = new int[10];当然没有人反对,但问题是随着程序的运行我们可以要我不至10个,而这个数组却无法对其进行加长;或者你可能会说,管他呢int[] a = new int[1000];肯定够用,但那样又有诸多的内在空间在浪费!所以我们考虑到了另一个类型array这个很不错的,但是由于array在放入到必须进行打包,取出时拆包,极大的浪费了cpu的利用。

那么在.net framework2.0中添加了关于泛型的支持,也就是实现了IList接口,他既有array的特性又具有长度可以增大添小的特点,还是还是避免了打包问题,这也是在.net 2.0之后微软说,没有事后话大家都用arraylist等支持泛型的原因!

事实上由于长期的习惯,泛型我们指的就是实现IList接口的数组之类的集合类型,所以我们在称泛型或是泛型集是时,实际上是同一概念!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式