c#-FrameWork01
Framwork
ArrayList
l 集合类似于数组,同样是用来存放连续数据的,但集合的功能比数组更强大
l 集合和数组的最大区别:数组一旦定义以后就无法改变其大小,而集合可以动态的改变其大小.
l 集合的功能:
- 用来存放连续数据,长度可变,可根据需要自动扩展
l ArrayList :删除元素后,索引自动调整
数组的clear删除的是元素的值,整形的为0,字符串为null
l 在集合中所有元素的类型都是object
ArrayList arr=new ArrayList();
arr.Add("");
arr.Clear();//移除所有元素
int i = arr.Count;//获取元素的个数
arr.Insert(2, "");//插入元素
arr.IndexOf("");//查找该元素的索引并返回
arr.Remove("");//移除匹配的第一项
栈
栈是后进先出的集合
Push,进栈,注意顺序
Pop 将顶部对象出栈并返回
Peek查看栈定对象,不出栈
进栈
Stack sk = new Stack();
int[] ints = { 1,2,3,4};
foreach (int i in ints)
{
sk.Push(i); //压栈
}
出栈
Console.WriteLine("出栈并返回栈定元素{0}",sk.Pop());
Console.WriteLine("返回栈定元素不出栈{0}",sk.Peek());
队列
队列:先进先出,就像一个管道
Enqueue,添加,注意和stack顺序区别
Dequeue删除并返回队列开始处的元素
Peek,返回队列开始处的元素,但不删除
HashTable(散列表)
ArrayList 每个元素对应一个索引
Hashtable根据键(key)可以查找相应的值(value),键和值一一对应.即键/值集合
Hashtable 中的元素顺序不是按照添加的顺序,根据键按照一个算法决定这个元素的位置,原因是hashtable要根据key快速检索元素
Add 添加元素,key不能重复,唯一的标识,key不能为空
Remove 移除元素
StringCollection:可替代ArrayList,专门存放字符串
StringDictionary:中的键值只能存放字符串_相当于Hashtable的string版
Sortedlist:有序的Hashtable按照键排序,可以使用索引
c#-FrameWork01的更多相关文章
- Robot Framework--01 创建简单工程示例
1.新建Project: 填写name,选择Type为Dirctory,路径根据自己需要选择,建议最好不要在中文路径下,以免发生问题:
- gts测试流程
测试目的: 用于检测你做的Android gms包是否满足兼容性要求,通俗点说,gms包,就是Google自己的apk,提供基础服务,例如YouTube.playstore等. 测试前提: 1.发货u ...
- vts测试流程
测试前提: 1.发货user版本 2.selinux:Enable 3.连接ADB,stay awake 4.烧录XXX申请的key 5.外网环境(ipv6) ATV9测试准备(正常准备环境+fast ...
- cts-on-gsi测试流程
测试前提: 1.发货user版本 2.selinux:Enable 3.连接ADB,stay awake 4.烧录XXX申请的key 5.外网环境(ipv6) ATV9测试准备(正常准备环境+fast ...
- sts测试流程
测试目的: 测试安全补丁打上了没 测试前提: 1.发货版本,user debug版本,相应安全补丁已合入,测试工具与安全补丁是对应的 2.selinux:Enable 3.连接ADB,stay awa ...
- cts测试流程
测试目的: 用于检测你做的Android系统是否满足兼容性要求,通俗点说,Google认为Android系统应该满足的条件,你需要满足. 例如框架层暴露给应用层的某些接口,Google认为你因该有,那 ...
随机推荐
- 《Servlet和jsp学习指南》 笔记2
chapter 13 请求和响应的装饰 初步了解Decorator模式: 在不修改一个对象的类的源码的情况下,装饰这个对象的行为. chapter 14 异步处理 异步Servlet和Filter,只 ...
- 20165219 2017-2018-2 《Java程序设计》第8周学习总结
20165219 2017-2018-2 <Java程序设计>第8周学习总结 教材学习内容总结 进程与线程 线程是比进程更小的单位:线程间可以共享进程中的某些内存单元 java的多线机制 ...
- kali linux之手动漏洞挖掘二
漏洞挖掘原则/宗旨----所有变量,所有头(cookie中的变量),逐个变量删除 身份认证 常用若口令/基于字典的密码爆破/锁定帐号 信息收集(手机号,身份证,住址信息等等) 密码嗅探 会话sessi ...
- 【bzoj4872】[Shoi2017]分手是祝愿 期望dp
Description Zeit und Raum trennen dich und mich. 时空将你我分开.B 君在玩一个游戏,这个游戏由 n 个灯和 n 个开关组成,给定这 n 个灯的初始状态 ...
- loj #2255. 「SNOI2017」炸弹
#2255. 「SNOI2017」炸弹 题目描述 在一条直线上有 NNN 个炸弹,每个炸弹的坐标是 XiX_iXi,爆炸半径是 RiR_iRi,当一个炸弹爆炸时,如果另一个炸弹所在位置 X ...
- 八大排序算法的python实现(四)快速排序
代码: #coding:utf-8 #author:徐卜灵 #交换排序.快速排序 # 虽然快速排序称为分治法,但分治法这三个字显然无法很好的概括快速排序的全部步骤.因此我的对快速排序作了进一步的说明: ...
- CodeForces - 233A Perfect Permutation
A. Perfect Permutation time limit per test: 2 seconds memory limit per test: 256 megabytes input: st ...
- 为什么有些网站PING不通但又能访问.
一PING它,出现request timed out,发关4个送数据包,返回0个.丢失率100%,明明不通但为什么又能够访问? 应该是该网站禁用了ICMP回应或者开启了ICMP过滤.如果设置了ICMP ...
- Qt 学习之路 2(63):使用 QJson 处理 JSON
Home / Qt 学习之路 2 / Qt 学习之路 2(63):使用 QJson 处理 JSON Qt 学习之路 2(63):使用 QJson 处理 JSON 豆子 2013年9月9日 Qt ...
- python之模块引入
模块引入就是我们经常见到的import xxxx以及from xxx import xxx两种形式.无论是哪一种方式,都要具体到模块名.下面分别看一下两种区别: 1. import import 后面 ...