zoukankan      html  css  js  c++  java
  • 深入.NET平台和C#编程笔记第三章

    第三章 使用集合组织相关数据

    1.集合概念引入

    集合:某些指定的对象(SE)集中在一起就是集合

    如下是一个Hello Kitty的集合

    数组:可以存储相同数据类型的一堆数据的容器

    2.集合ArrayList的使用

    01.引子:

    用ArrayList进行赋值的时候,需要使用Add()

    但是对集合中元素的修正可以使用下标,eg.list[0]=1给新值

    但是在集合中元素个数为0的情况下,不能用Add()方法之外的其他手段给集合中添加元素.

        数组的局限性:由于给数组中添加元素,删除元素的时候,特别麻烦,所以我想找一个替代数组的工具,来帮我们实现数组所能实现的功能。集合应运而生.

     使用ArrayList首先需要引入命名空间

     集合动态扩容原理:如果集合中元素个数为0,并没有开辟空间

     02.构造函数

       概念:给类定义一个方法,方法名和类名相同,没有返回值,连void都不能有。

      03.非泛型集合在使用前,一定要先导入命名空间。

    04.命名空间

      保证在不同的命名空间下可以出现同名类。

    weilengdeyu.Download()

    Weiredeyxue.UPLoad()

    3.集合中元素

    1.常见属性:

    Capacity:集合占用空间

    Count:集合存储元素个数

    2.常用方法:

    添加:int Add(Object value) //添加一个对象到集合的末尾

    遍历:通过foreach遍历

    删除:Remove()、RemoveAt()和Clear()

          *:注意事项:如果删除了集合中的某一个元素,那么集合的索引会自动维护

          Remove():删除内容

          RemoveAt():通过索引删除

          Clear():一次性移除集合中所有的元素

          Contains():是否包含某个元素

    3.常见错误:见PPT

    写自己的组件:其实就是你在微软已有的组件上进行第二次封装。例如

    保证在TextBox中只能输入数字。

    比如说,现在TextBox内容你想要按照自己特定的格式打印。自己在TextBox动手脚,然后让他支持对应格式的打印。

      --01.ArrayList

         删除方法,包含,

       02.命名空间

         同名类便于区分,加快检索硬盘上某个类的速度

         Using System.Collections

         Using System.Collections.Generic; //泛型命名,默认导入

       03.var :隐式类型推断

          最后一个问题:

         int num=5;

       04.HashTable 

         第一个:删除

            没有RemoveAt()

         第二个:

           三个方案:根据key拿到value 

           只能拿到value

                    DictionayEntry    

                 Foreach( DictionayEntry item in table)

                 {

                     item.Value

                     //命名空间.类名

                 }     

         第三个:HashTable是一种无序的双列集合。

         第四个:ContainsKey()

    4.集合初始化器,对象初始化器

       ArrayList engineers = new ArrayList()

    {

            new SE(){Name = "周星星",Age = 26,

                         Gender = Gender.male,ID = "000",Popularity = 10},

            new SE(){Name = "王贱贱",Age = 22,

                         Gender = Gender.female,ID = "111",Popularity = 20},

            new SE(){Name = "周姐姐",Age = 30,

                         Gender = Gender.male,ID = "222",Popularity = 20}

    };

    5.HashTable

      Hashtable 通常称为哈希表

      根据键(Key)可以查找到相应的值 (Value)

     1.HashTable注意事项

          01.HashTable类型的集合只能用foreach循环遍历,因为没有索引

          02.HashTable集合中元素是无序的(不会按照Add的顺序来展示元素内容)

          03.HashTable中的key不能重复

          04HashTabel没有RemoveAt()

     2.对HashTable遍历三种方案:

         ☆:第一种方式,遍历所有的keys,通过key的值获取value

         ☆:第二种方式:遍历所有的value集合

         ☆:第三种方式,同时遍历key和value

             

    六、泛型集合List<T>

     泛型:就是为了约束ArrayList中元素类型,而制定的一个新的集合类型,该类型只能加入同一类型的多个元素,标识符<T>,可以看成是一个占位符,泛型是将运行时错误提前到了编译时

    6.泛型集合Dictionary<K,V>

     Dictionary<string,Person> dic=new Dictionary<string, Person>();

  • 相关阅读:
    Maximal Square
    Largest Rectangle in Histogram
    Number of Islands
    Ajax工作原理及C/S与B/S的区别
    Spring的AOP和IoC及隔离级别
    final,finally,finalize的区别
    Servlet生命周期
    数组和链表
    Spring工作原理
    JVM加载class文件原理
  • 原文地址:https://www.cnblogs.com/ppdpp/p/7635557.html
Copyright © 2011-2022 走看看