zoukankan      html  css  js  c++  java
  • 使用集合组织相关数据

    ArrayList

    ArrayList非常类似于数组。也有人称他为数组列表,它的容量可以根据需要进行动态扩充,而它的索引也会根据集合容量的扩展而重新分配和调整。也就是说ArrayList集合中的元素的下标是不确定的、可变的。

    ArrayList类属于System.Collections命名空间,这个命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。

    ArrayList的属性和方法:

    集合初始化器:

    有一系列的元素初始化器构成,包围在“{”和“}”之间,并使用逗号进行分割。每个元素初始化器指定一个元素,该元素将被添加到待初始化的集合对象中。通过集合初始化器,无需将代码中指定多个对该类Add()方法的调用。从而节省很多空间。

    ArrayList list =new ArrayList()

    {

      new SE(){Name=“王小毛”,Age=22,Sex=“男”},

     new SE(){Name=“王晓债”,Age=12,Sex=“男”},

     new SE(){Name=“小花”,Age=12,Sex=“女”}

    }

    Hashtable:

    HashTable的数据结构,通常称他为哈希表也有人称他为“字典”,给它起字典这个名字是因为它和字典非常类似,都是通过一个单词查找出有关此单词的更多信息,HashTable是通过键(Key)对值(Value)来组织数据的。

    泛型和泛型集合

    泛型

    泛型引入了一个概念:类型参数。通过使用类型参数(T)减少了运行时强制转换或装箱操作的风险,通过泛型可以最大限度的重用代码,保护类型的安全及提高性能,他的最常见应用就是创建集合类,可以约束集合类中的元素类型。比较典型的泛型集合是List<T>和Dictionary<>;

    泛型优点:

    性能高。普通集合数据,需要装箱和拆箱的操作,而泛型无需类型的转换操作

    类型安全。泛型集合对它所储存的对象进行了类型的约束。

    实现代码的重用。泛型相当于模板,由于它支持任意的数据类型,开发人员不必为每种特定的数据类型编写一套方法,所以它具有极大的可重用性。

    型集合List<T>

    List<T>类的用法类似于ArrayList 遍历必须使用Foreach

    List<T>中的T表示可以对集合中元素类型进行约束,T表明集合中管理的元素类型

    语法:

    List <T>  集合名称=new   List<T>();

    List <SE>  list=new   List<SE>();

    List<T>与ArrayList的区别:

    异同点

    List<T>

    ArrayList

    不同点

    对所保存的元素进行类型约束

     可以增加任何类型

    添加/读取值类型元素无须拆箱,装箱  

    添加/读取值类型元素需要拆箱,装箱

    相同点

       通过索引访问集合中的元素

     添加元素方法相同

     删除元素方法相同

    泛型集合Dictionary<K,V>

    语法

    Dictionary<K,V>对象名=new Dictionary<K,V>();

    例如:

    Dictionary<string,SE>engineers=new Dictionary<string,SE>();

         Dictionary和Hashtable的区别:

     异同点  

     Dictionary<K,V>   

         Hashtable

    不同点 

     对所保存元素做类型约束    

      可以增加任何类型

    添加/读取值类型元素无须拆箱,装箱 

    添加/读取值类型元素需要拆箱,装箱

     相同点   

    通过Key获取Value

     添加元素方法相同

    删除元素方法相同

     遍历方法相同

  • 相关阅读:
    flexible
    arcgis
    vue 语法糖
    sass 的安装 编译 使用
    nodeJs
    微信小程序
    linux cgroups 简介
    git命令
    sublime笔记
    工程优化学习(进退法、黄金分割法、二次插值法、三次插值法、最速下降法)
  • 原文地址:https://www.cnblogs.com/luoxionghenku/p/8185083.html
Copyright © 2011-2022 走看看