C# Day。8 数组升级集合~~~
Posted 张鑫4477
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Day。8 数组升级集合~~~相关的知识,希望对你有一定的参考价值。
今天是第8天,学习的是C#集合,集合共有6大类:
1,普通集合★★
2,泛型集合★★★
3,哈希表集合★★★
4,字典★★
5,栈桥集合★
6,队列集合★
一,数组于集合的区别:
数组:长度固定,类型相同;
集合:不固定类型,不固定长度;
二,如何使用集合
引用命名空间:using System.Collections;
三,集合定义
1,普通集合
代码展示1:
观察这段代码:
1,定义:ArrayList 集合名称 =new ArrayList();
2,赋值:集合名称.Add(object类型); object类型(基础类型):stirng,double,bool,int任意类型的都可以。
3,取值:集合名称[索引]; 集合索引按先后输入顺序排列
4,获取集合个数:集合名称.Count; 只能统计个数,不能统计长度,注意和数组区分
代码展示2:
结合代码展示1发现,原本hh.[0]取值结果由abc变成了哈哈,集合个数由3变成了4。
集合插队:变量名.Insert(要插入位置的索引,要插入的值);
代码展示3:
结合代码1,原本应该是是显示为abc,3 变成了 123, 2 。这是移除了值abc造成。
集合移除1:数组名称.Remove(值); 移除某一个值,如果有多个一样的值,只移除第一个。
展示代码4:
结合对比代码展示3,同样是移除某个值,RemoveAt移除的对应索引的值。
集合移除2:集合名称,RemoveAt(索引); 移除对应索引的值。
代码展示5:
(1)
(2)
(3)
对比(1)(2)发现,集合被倒序输出。
对比(2)(3)发现,集合从第一个索引开始由三个值被倒序输出。
倒序输出:
1,集合名称.Reverse(); 将原本顺序输出改为倒序输出。
2,集合名称.Reverse (要开始倒序输出的索引,要倒序输出的个数)
代码展示6:
集合被清空了。
清空:集合名称.Clear();
2,泛型集合
泛型 集合与普通集合的区别:
泛型集合针对同一类型(取值操作方便) 强类型集合
普通结合针对所有类型(取值操作不方便)弱类型集合
代码展示1:
定义: List<指定基类(int/string)> 集合名称 =new List <与前面指定基类相同>();
操作与普通类型代码完全一致。
赋值:集合名称.Add(object类型); object类型(基础类型):stirng,double,bool,int任意类型的都可以。
取值:集合名称[索引]; 集合索引按先后输入顺序排列
获取集合个数:集合名称.Count; 只能统计个数,不能统计长度,注意和数组区分
集合插队:变量名.Insert(要插入位置的索引,要插入的值);
集合移除1:数组名称.Remove(值); 移除某一个值,如果有多个一样的值,只移除第一个。
2:集合名称,RemoveAt(索引); 移除对应索引的值。
集合倒序:1,集合名称.Reverse(); 将原本顺序输出改为倒序输出。
2,集合名称.Reverse (要开始倒序输出的索引,要倒序输出的个数)
3,哈希表集合 弱类型、
特点:自定义索引的集合 最有特点的集合
哈希表集合最主要的特点就是自定义索引,这是最重要的集合之一,以后非常会常用。
定义:Hashtable 集合名称 =new Hashtable();
赋值:变量名称.Add(自定义的索引(字符串索引加""),值); 键值对,一个键对应一个值。
不能插队也不能反转。
取值:
取值时发现只能输出同一类型的值,否则就会报错。
4,字典集合 强类型
代码展示:
与哈希表集合对应的强类型
定义 Dictionary<索引类型,值类型> 集合名称 =Dictionary<与前面一样索引类型,与前面一样值类型>();
使用方法与哈希表类型一致。
5,队列集合
代码展示:
(1)
(2)
观察两段代码,第一个只输出了一个值,第二个又输出了一个值,队列集合遵循先进新出的原则,先赋值的,最先出去,一次只能一个一个的出。
定义:Queue 集合名称= new Queue();
赋值:集合名称.Enqueue(值);
取值:集合名称.Dequeue();
6,栈桥集合
代码展示:
与队列集合相反,是后进先出。
定义:Stack 集合名称=new Stack();
赋值: 集合名称.Push(值);
取值:集合名称.Pop();
以上是关于C# Day。8 数组升级集合~~~的主要内容,如果未能解决你的问题,请参考以下文章