集合
C#基础(Day04)
原创
©著作权归作者所有:来自51CTO博客作者kx_vivian的原创作品,请联系作者获取转载授权,否则将追究法律责任
集合:存储一系列数据,数组存储数据时流程是比较松散的。数组只能通过下标牵引,当去寻找一些有条件的数据时必须去遍历数组。每种集合都是为特定用途设计的,大部分的集合是用类来封装的。
ArrayList:动态数组,add属性可以添加类型不同的元素,通过下标来牵引。
ArrayList有两个属性,Count:获取动态数组中实际包含的元素数。
Capacity:获取或设置集合中可包含的元素数。0,4,8,16……(翻倍增长)。如果8个长度的数组不够了,就要先new一个16个长度的数组,以前的数组就会被当做垃圾被垃圾回收器。这就增加了系统的开销。(只要不重新new,容量就不会改变)
ArrayList al = new ArrayList(3);如果new的时候给它定义容量,那么,容量增长时以我们定义的值翻倍增长。3,6,12……..
但不推荐定义容量。
执行第一行,实例化集合,但没有对该集合进行初始化。
Stack(堆栈);:先进后出
方法:Push:把对象插入栈的顶部。
Pop:移除并返回位于栈顶部的对象。
Peek:返回位于栈顶部的对象,但不移除。
Queue(队列):先进先出
方法:Enqueue:将对象添加到队列的结尾处。
Dequeue:移除并返回位于队列开始处的对象
栈和队列一般不用for来遍历;用while遍历,因为他的总数随时在变,取走一个,Count就变一次(foreach可以遍历)。栈和队列也不可以用下标来取数据,只能按顺序来取。
Hashtable:添加元素调用Add,存储的时候以键值对出现的,哈希是根据键按照一定的算法去算出个值来,这个值就是个内存地址,然后把后面具体的值放在这个地方。所以哈希里的键不能重复。当查找数据时,不遍历,存放数据越多,效率越明显。
List:泛型其实就是类型的参数,把类型当做参数,好处:显而易见,无装箱拆箱操作。可以通过下标来牵引。
List<int> list=new List<int>();
list.Add(1);
List<string> list2=new List<string>();
list2.Add("abd");
Dictionary<int, string> dic = new Dictionary<int, string>();//泛型的hashtable,int表示键的类型,string表示值的类型,它的键必须唯一。
dic.Add(1, "a");
上一篇:C#基础(Day05)
下一篇:C#基础(Day06)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Day04 Docker
Docker
docker Docker 系统资源 -
day04
day041. 两数之和力扣题目链接题目给定一个整数数组 nums 和一个整数目标值 target,
leetcode java 算法 数组 集合 -
python基础编程day04
python基础编程day04字符串的格式化表示- 生成一定格式的字符
python 循环语句 字符串 死循环 -
day04—java基础之方法详解
方法是具有特定功能的代码集合,由于我们是把重复的代码写到方法当中,以后要用直接调用方法即可,不需要再写一遍了。代码相当
java 方法名 System 数据类型 -
Spring学习-day04
bean之间的关系
Spring 学习