泛型集合与非泛型集合,泛型

ArrayList//非泛型集合

非泛型集合添加元素演示

public void Test1(){

ArrayList al = new ArrayList ();

al.Add ("张三");

al.Add ("李四");

al.Add (1);//非泛型集合可以添加各种类型的数据

}

ArrayList 是集合数组,所以有下标可以用for循环遍历。也可以用foreach遍历

泛型集合添加元素演示

List<T>//泛型集合

Listlist<string> list= new List<string>();

list.Add()//这里添加的元素必须是string类型的,因为上面泛型集合已经限定了只能用string类型

非泛型集合与泛型集合添加元素的效率是不同的

因为非泛型集合如果添加值类型元素需要将其装箱(转换成Object类型)当获取元素时需要拆箱(按地址取值,在转换成类型),而泛型集合指定了类型之后就不会有这种装箱和拆箱的过程,所以效率大大提升。

泛型类


//演示引用类型限定

//class 表示限定的是引用类型

//public void Swap(ref T num1,ref T num2) where T:class//泛型类,同时限定T必须是引用类型

// {

// T temp = default(T);//给T一个默认值

// temp = num1;

// num1 = num2;

// num2 = temp;

// }

}

public T Swap(ref T num1,ref T num2) where T:IComparable//实现泛型的比较

{

if (num1.CompareTo (num2) < 0) {

return num2;

} else {

return num1;

}

}

CompareTo() 这个方法有三个返回值,分别是0,1,-1.

返回为 0 意味着相等

返回为 1  表示降序

返回为 -1  表示升序

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容