zoukankan      html  css  js  c++  java
  • 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 个列表元素之后,不对列表元素装箱所节省的内存将大于生成该类实现所使用的内存。
  • 相关阅读:
    算法-第四版-练习1.2.8解答
    算法-第四版-练习1.2.7解答
    JDBC连接Oracle数据库的示例代码
    springboot2.0集成webSocket
    什么是vagrant?
    python中使用os.path.join()
    github 使用“git commit -m"命令时候出现的一个小问题
    关于运行“基于极限学习机ELM的人脸识别程序”代码犯下的一些错误
    spring 整合hibernate注解时候,出现“Unknown entity: com.ssh.entry.Admin; nested exception is org.hibernate.MappingException: Unknown entity: com.ssh.entry.Admin”异常的问题
    浅谈HashMap的实现原理
  • 原文地址:https://www.cnblogs.com/love828/p/3294490.html
Copyright © 2011-2022 走看看