集合组织数据

 

  • 集合
    • ArrayList: 升级版本的数组
    • 1、可以存储任意的数据类型
    • 2、会自动扩容,自动调整索引
    • 3、有序集合,存的值是有顺序的
    • 4、可以允许存储相同的值
    • 5、存值结构--数组结构 通过下标获取值
  • 弊端:
    • 会频繁的做装箱(添值)拆箱(拿值)操作
    • 可以存储任意的数据类型会导致管理混乱
  • 新增ArrayList
  • //类对象名和集合对象名都是自取的
    //向ArrayList中添加值类型的元素时,会执行装箱处理
    ArrayList 集合对象名= new ArrayList();
    //实例化类对象
    类名  类对象名= new 类名();
    对象名.属性 = 属性值;
    ……
    //添加对象到集合
    集合对象名.Add(类对象名);
    //获取集合元素的数目
    MessageBox.Show(集合对象名.Count)
    
  • 快捷操作:由一系列元素初始化器构成,包围在“{”和“}”之间,并使用逗号进行分隔,如果要添加多个,用逗号分隔。
  • ArrayList 对象名= new ArrayList() 
    { 
            new 类名(){属性= 属性值.....}
    };

     

  • 访问ArrayList 单个元素
    • (类型) ArrayList [index] //按指定索引(下标)取得对象
  • 删除ArrayList的元素:
  • ArrayList 集合名=new ArrayList ();
    集合名.Remove(对象名)   //删除指定对象名的对象,删除的时候如果没有此信息,就不会删除,但也不会报提示信息
    集合名.RemoveAt(index) //删除指定索引的对象,如果下标不存在,会报索引越界错误
    集合名.Clear()         //清除集合内的所有元素

     

  • Hashtable:哈希表,给每个元素取一个关键字,通过关键字来访问其中的元素,当中的每一个元素都是一个键/值对,它的实例化和以及删除等操作和ArrayList相似,
  • Hashtable 对象名= new Hashtable();  
    //实例化类对象
    类名  类对象名= new 类名();
    对象名.属性 = 属性值;
    ……
    //添加对象到哈希表中
    对象名.Add(类对象名.属性,类对象名);

     

  • Hashtable和ArrayList的主要区别是什么?
    • Hashtable是通过关键字来访问其中的元素,ArrayList是通过索引来访问其中的元素
  • 相同点:
    • Hashtable和ArrayList存储的数据类型都会被转换为object类型
  •  
  • keyvalue

     

  • 创建List<T>泛型集合:是ArrayList的进阶版

    • List<SE> engineers = new List<SE>();
    • 尖括号里面可以放任意数据类型
    • 异同点

            List<T>

                 ArrayList

      不同点

      增加元素时类型严格检查

      可以增加任何类型

      添加和读取值类型元素时,无需装箱拆箱

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

      相同点

      通过索引访问集合的元素

      添加对象方法相同

      通过索引删除元素

  • 创建Dictionary<Key,Value>集合(字典):是hashtable的进阶版
    • <K,V>约束集合中元素类型
    • 编译时检查类型约束
    • 避免箱(添值)拆箱(拿值)操作,性能高
    • 与Hashtable操作类似
  • 异同点

          Dictionary<K,V>

    Hashtable

    不同点

    增加元素时类型严格检查

    可以增加任何类型

    无需装箱拆箱

    需要装箱拆箱

    相同点

    通过Key获取Value

    添加对象方法相同

    遍历方法相同

     

  • 什么是泛型:类型参数<T>,一种不确定的类型参数,默认情况下是object类型
  • 泛型的好处:
    • 避免箱(添值)拆箱(拿值)操作,性能高
    • 提供了更好的类型安全性
  • 什么是泛型集合:
    • 泛型<T>最常见的用途是创建集合类
    • 操作的数据类型被定义为一个参数
    • 泛型集合包括List<T>、Dictionary<Key,Value>
  • 泛型集合优点:
    • 泛型集合可以约束集合内的元素类型
    • 访问泛型集合中的元素无须进行类型转换
  • 泛型类:与其他类不同的是,其中定义了类型参数
//T指类型参数,代表具体的数据类型,可以是类类型,也可以是基本数据类型
public class 类名<T> 
{
    //……
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值