C#---API-01(Application Programming Interface-01)

一、集合概述

1.1 概念

用以存储数据,将紧密相关的数据组合到一个集合中。

1.2 集合与数组的区别

数组一旦定义,无法改变其大小;集合可以动态的调整大小。

二、集合类别

*ArrayList :保存object类型的数组列表(什么类型都可以:int、double、string...)

*HashTable:散列表,可通过关键字访问值

*Queue:队列

*Stack:堆栈

*StringDictionary:将键和值强类型转化为字符串而不是对象来实现哈希表

*SortedList:表示键、值对的集合,这些键值对按键排序并可按照键和索引访问

三、ArrayList类

3.1 概念:特殊的数组,通过添加和删除元素可以动态改变数组的长度。命名空间:Using System.Collection's;

3.2 添加元素

 3.2.1  Add()追加元素

ArrayList   alist=new ArrayList();

alist.Add(“a”);//将string'类型的a放入alist

alist.Count    //代表这个集合的长度

3.2.2 Insert()插入元素

alist.Insert(0,“b”);//在集合的第一个位置插入string类型的b;

alist.Insert(3,‘c’);//在集合的第四个位置插入char类型的c;

3.3 删除元素

3.3.1 Remove()删除指定元素

alist.Add(“a”);

alist.Add(“b”);

alist.Remove(“a”);//删除集合中a这个元素

3.3.2 RemoveAt()按索引删除元素

alist.RemoveAt(3);//删除第四个位置的元素

3.3.3 Clear()删除所有元素

alist.Clear();//类似于一个方法,直接使用,没有参数

3.3.4 Sort()排序

alist.Sort();//对集合alist进行升序排列

3.3.5 查找

3.3.5.1 IndexOf() 搜索指定元素,返回第一个匹配项的从零开始的索引(返回的是该元素在集合中的位置)

alist.IndexOf(“a”);//第一次出现元素a的位置;

alis.IndexOf(“a”,2);//第二次出现元素a的位置;...........

3.3.5.2 LastIndexOf()搜索最后一个匹配项,从后往前搜索

3.3.5.3 Contains确定某个元素是否在集合中

alis.Constains(“a”);//检测a是否存在于集合alist中,是的话返回True,否的话返回False

四、Stack类

4.1 概念:后进先出的集合。命名空间:Using System.Collections;

4.2 入栈:Push

Stack sk=new Stack();

foreach(int  i  in  new  int[4]  {1,2,3,4})

{

sk.Push(i);//填充sk

}   //遍历后得到4,3,2,1(后进先出);

4.2 出栈:Pop

sk.Pop()//出栈一个元素;

4.3 Peek

sk.Peek()//查看栈顶对象但不出栈

五、Queue类

5.1 概念:队列,先进先出     命名空间:Using System.Collections;

5.2 添加Enqueue

Queue qu=new Queue();

foreach(int  i  in  new  int[4]  {1,2,3,4})

{

qu.Enququ(i);//填充qu

}   //遍历后得到1,2,3,4(先进先出);

5.3 移出并返回队列开始的对象 -- Dequeue

qu.Dequeue();类似于Stack中的Pop;

5.4 Peek返回队列开始处的对象但不移除

sk.Peek()//查看队列开始处的对象但不移出

六、HashTable类

6.1 概念:键、值对的集合。命名空间:Using System.Collections;

6.2 添加Add及遍历显示

例:

HashTable ht=new HashTable();

ht.Add(“name”,“唐僧”);

ht.Add(“age”,28);

.........

//ht.Add(“name”,“玄奘”);//这个是错误的---关键字不能重复!!!

foreach(DictionaryEntry de in ht)

{

console.WriteLine(“{0}-----{1}”,de.Key,de.Value);

}

输出结果:

name---唐僧

age---28

6.3 Remove  移除键和值

ht.Remove(“name”);//代表移除了name这一键和值

6.4 应用

如果只知道Key且不知道Value,并且需要频繁修改,那么需要使用HashTable,因为HashTable添加删除时无序的,速度快。

七、StringDictionary类

7.1 概念:与HashTable类似,但是键和值固定存放字符串。命名空间:Using System.Collections.Specialized;

7.2 注意事项:

使用上与HashTable基本相同,但是注意 键 不区分大小写,所有的 键 都会自动转化成小写。

与HashTable相比,性能更好,省去了装箱拆箱的过程。

八、SortedList类

8.1 概念:与HashTable类似,这些键值对按键排序并可按照键和索引(位置)访问,命名空间:Using System.Collections;

8.2 使用:

SortedList会自动进行排序;

SortedList sl=new SortedList();

console.Writeline(sl.GetByIndex(1));//代表的是获取排序后第二个键所对应的值;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容

  • 一、什么是Hashtable? Hashtable 类代表了一系列基于键的哈希代码组织起来的键/值对。它使用键来访...
    小明yz阅读 2,564评论 0 3
  • Collection ├List │├LinkedList │├ArrayList │└Vector │└Stac...
    AndyZX阅读 820评论 0 1
  • https://msdn.microsoft.com/zh-cn/library/system.collectio...
    LH_晴阅读 412评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,293评论 18 399
  • 阿浪的猫咪长得好可爱,它看起来好温顺哦。阿浪一定经常抱着他的猫咪入睡吧。 阿浪在躺椅上看书时猫咪一定依偎他身上,静...
    小善缘pure阅读 418评论 0 0