• ArrayList 类和List<T>泛型类


    ArrayList集合类在System.Colletions命名空间下,它其实是一个特殊的数组,它可以动态的添加和删除元素,根据元素的改变自动决定它自身的大小,也可以灵活的插入元素等操作,使用起来要比一般的数组方便很多个人感觉,而且可以用来储存任何引用和值类型,如下面举个例子:

    C#:

    ArrayList arr = new ArrayList();

    arr.Add(123);

    arr.Add(567);

    arr.Add("windows");

    //ArrayList的默认索引为0

    //我要在索引为1的位置插入一个元素

    arr.Insert("XP");

    arr.Remove(567) //移除元素567

     

    下面是ArrayList类的一些常用属性和方法:

    1.常用属性

    Count获取数组的实际元素个数。

    Item 获取和设置指定索引处元素,这个属性在VB.NET使用,在C#中时用[]代替。

    2.常用方法

    Add方法:将某一元素添加到动态数组的尾部

    Remove方法:从动态数组中移除指定元素。

    RemoveAt方法:从动态数组中移除指定索引处元素。

    Clear方法:删除所有元素。

    IndexOf方法:在动态数组中查找某个元素的索引。

    Insert方法:将元素插入指定索引处。

    Reverse方法:反转元素排序。

    Sort方法:对元素进行排序。

    ToArray方法:将动态数组中的所有元素复制到新数组中。

    Contains方法:确定某个元素是否存在。

    ArrayList虽然使用很方便灵活,但是添加给它的任何引用类型和值类型都将隐式的被转换为Object(即装箱操作),而在使用元素时要进行拆箱操作,否则会出现编译错误的情况,这样很麻烦,所以就有另外一个和它比较相似的类,List<T>泛型类,List<T>泛型类位于System.Colletions.Generit下,List<T>泛型比ArrayList方便之处就是它避免了重复装箱拆箱的操作,当它声明时将强制性的指定一个非Object类型,相对能较好的保证代码的安全性,它的使用和ArrayList类似。

    C#:

    List<int> a = new List<int>();

    a.Add(1);

    a.Add(2);

    a.Add(3);

    ArrayList 类和List<T>泛型类的区别 

    •List<T>类是 ArrayList 类的泛型等效类
    •List<T>类的类型 T 使用引用类型,则两个类的行为是完全相同的
    •如果对类型 T 使用值类型,则编译器将特别针对该值类型生成 List<T>类的实现。 这意味着不必对 List<T>对象的列表元素进行装箱就可以使用该元素,并且在创建大约 500 个列表元素之后,不对列表元素装箱所节省的内存将大于生成该类实现所使用的内存。
  • 相关阅读:
    C# 操作Word目录——生成、删除目录
    Java PDF页面设置——页面大小、页边距、纸张方向、页面旋转
    【BZOJ3157/3516】国王奇遇记(数论)
    【BZOJ2137】submultiple(数论)
    【CF734F】Anton and School(构造)
    【CF618F】Double Knapsack(构造)
    【BZOJ2034】最大收益(贪心)
    【CF981D】Bookshelves(贪心,动态规划)
    【CF865D】Buy Low Sell High(贪心)
    【BZOJ3716】[PA2014]Muzeum(贪心,网络流)
  • 原文地址:https://www.cnblogs.com/love828/p/3294490.html
Copyright © 2020-2023  润新知