1:ArrayList 和 Hashtable(哈希表)

1.1:ArrayList

ArrayList list = new ArrayList();

list.Add();

list.AddRange();

list.Clear(); //清空所有元素

list.Remove(); //删除单个元素

list.RemoveAt(); //根据下标去删除

list.RemoveRange(); //根据下标去移除一定范围的元素

list.Sort(); //升序排列

list.Reverse(); //反转

list.Insert(); //在指定的位置插入一个元素

list.InsertRange(); //在指定的位置插入一个集合

1.2:ArrayList集合的长度问题

每次集合中实际包含的元素个数(count)超过了可以包含的元素的个数(capcity)的时候,

集合就会向内存中申请多开辟一倍的空间,来保证集合的长度一直够用。

C#是一门强类型语言:在代码中,必须对每一个变量的类型有一个明确的定义。

Js是一门弱类型语言:var

var使用的时候必须已经初始化(隐式类型的局部变量必须已经初始化)

1.3:Hashtable 键值对集合

在键值对集合中,我们是根据键去找值的。

键值对对象[键] = 值;

判断是否包含某个键,hashtableObj.ContainsKey("KeyValue");

1.4:ArrayList 和 Hashtable 集合

1):长度不定

2):数据类型不定,可以是任何类型

3):从ArrayList 和Hashtable中取出的数据都是Object类型

2:List集合(泛型集合) 和 Dictionary<TKey,TValue>

2.1:List集合(泛型集合)

2.2:Dictionary<TKey,TValue>

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

foreach(KeyValuePair<int,string> kv in dic)

{

Console.WriteLine("{0}---{1}",kv.Key,kv.Value);

}

//dic中不存在key,添加key/value

dic.Add(key,value);

dic[key]=value;

3:集合<==>数组

3.1:集合转换为数组

List<T> li = new List<T>();

li.ToArray();

3.2:数组转换为集合

char[] chs = new char[]{'a','b','c',};

List<char> listChar = chs.ToList();

4:ArrayList和Hashtable为什么用的很少?

会发生装箱/拆箱操作,影响程序执行效率

4.1:装箱/拆箱

装箱:就是将值类型转换为引用类型。

拆箱:将引用类型转换为值类型。

看两种类型是否发生了装箱/拆箱,要看这两种类型是否存在继承关系。

若存在,则可能发生装箱/拆箱,若不存在,则不可能发生装箱/拆箱。

20151024_002_C#基础知识(ArrayList,Hashtable,List,Dictionary)的更多相关文章

  1. C#中Hashtable、Dictionary详解以及写入和读取对比

    转载:http://www.cnblogs.com/chengxingliang/archive/2013/04/15/3020428.html 在本文中将从基础角度讲解HashTable.Dicti ...

  2. 1、C#中Hashtable、Dictionary详解以及写入和读取对比

    在本文中将从基础角度讲解HashTable.Dictionary的构造和通过程序进行插入读取对比. 一:HashTable 1.HashTable是一种散列表,他内部维护很多对Key-Value键值对 ...

  3. C#基础知识之Dictionary

    最近使用了Dictionary,出现了意想不到的错误,先记录一下自己遇到的问题以及目前我的解决方法,然后温习一下Dictionary的基础用法. 一.自己遇到的问题 1.代码如下: namespace ...

  4. 【干货】用大白话聊聊JavaSE — ArrayList 深入剖析和Java基础知识详解(二)

    在上一节中,我们简单阐述了Java的一些基础知识,比如多态,接口的实现等. 然后,演示了ArrayList的几个基本方法. ArrayList是一个集合框架,它的底层其实就是一个数组,这一点,官方文档 ...

  5. C# 集合类 :(Array、 Arraylist、List、Hashtable、Dictionary、Stack、Queue)

    我们用的比较多的非泛型集合类主要有 ArrayList类 和 HashTable类.我们经常用HashTable 来存储将要写入到数据库或者返回的信息,在这之间要不断的进行类型的转化,增加了系统装箱和 ...

  6. c#重点[集合类型]异常,数组,集合ArrayList,List<>,hashTable,hashtable泛型(Dictionary)

    1.foreach[对一些数组或集合进行遍历] foreach(类型 变量名 in 集合对象){语句体} //定义一个数组 ,,,,, }; foreach(var i in sNum1) { Con ...

  7. repeater绑定数组、哈希表、字典 ArrayList/HashTable,Dictionary为datasource

    原文发布时间为:2009-11-19 -- 来源于本人的百度文章 [由搬家工具导入] repeater绑定数组、哈希表、字典datasource为ArrayList/HashTable,Diction ...

  8. 基础知识系列☞C#中数组Array、ArrayList和List三者的区别

    数组() #region 数组 //初始化方式_0:先声明再赋值 ]; weekDays_0[] = "Sun"; weekDays_0[] = "Mon"; ...

  9. “GIS DICTIONARY A-Z” 查询页面开发(3)—— 基础知识之服务器、IP地址、域名、DNS、端口以及Web程序的访问流程

    今天补一补基础知识: 一.服务器:能够提供服务的机器,取决于机器上安装的软件(服务软件).服务器响应服务请求,并进行处理. Web服务器:提供Web服务,即网站访问.常见Web服务软件:Apache( ...

随机推荐

  1. TCP系列02—连接管理—1、三次握手与四次挥手

    一.TCP连接管理概述 正如我们在之前所说TCP是一个面向连接的通信协议,因此在进行数据传输前一般需要先建立连接(TFO除外),因此我们首先来介绍TCP的连接管理. 通常一次完整的TCP数据传输一般包 ...

  2. Debian 7 amd64问题

    Debian 7 发布了有1段时间,最近才在自己的电脑硬盘安装,用户体验还算可以.在安装Debian的过程中,有问题还是要记录一下的. 注意:遇到的问题跟硬件体系相关,可能在个别电脑没法重现. 1.默 ...

  3. 3DMAX贴图无法显示

    问题描述:我在点击"将材质指定给选定对象"按钮之后,模型只是变灰了,没有显示出我贴的图. 原因是:没有显示贴图. 我的解决方案:点击材质编辑器里面的"视口中显示敏感处理材 ...

  4. JS 书籍拓展内容

    一.面向对象

  5. 原生js移动端字体自适应方案

    自从进入新公司之后,就一直采用800的方案,也就是判断屏幕尺寸,大于800px是一种html字体处理方案,另一种方案是小于800px的html字体处理方案, 代码如下: (function(doc, ...

  6. 【Linux】- netstat 命令

    Linux netstat命令用于显示网络状态.利用netstat指令可让你得知整个Linux系统的网络情况. 语法 netstat [-acCeFghilMnNoprstuvVwx][-A<网 ...

  7. phpcms黄页,不能选择行业。解决办法

    用phpcms黄页模块,发布产品的时候.不能选择 产品分类,点开之后,啥都没有,是空的. 这个是因为:js的问题. 解决办法:将 网站根目录的 js 文件中的两个文件,更换为 官方的两个js文件.即可 ...

  8. c运行时库,c标准库,Windows系统api的关系

    原文地址:http://blog.csdn.net/seastars_sh/article/details/8233324 C运行库和C标准库的关系 C标准库,顾名思义既然是标准,就是由标准组织制定的 ...

  9. 在html在添加cookie和读取cookie

    1.保存cookie var oDate = new Date(); oDate.setDate(oDate.getDate() + );//有效期为30天 document.cookie = &qu ...

  10. 【bzoj1712】[Usaco2007 China]Summing Sums 加密 矩阵乘法

    题目描述 那N只可爱的奶牛刚刚学习了有关密码的许多算法,终于,她们创造出了属于奶牛的加密方法.由于她们并不是经验十足,她们的加密方法非常简单:第i只奶牛掌握着密码的第i个数字,起始的时候是Ci(0≤C ...