10-23C#基础--特殊集合(stack、queue、hashtable)
特殊集合一:stack集合--堆集合
1、定义:堆集合是集合中一种特殊的类,在Stack中也有许多方法和属性,下面一一列举:
命名格式:Stack ss=new Stack();
2、如何添加数据:push(),推,将需要的数据依次输入,一个推一个,进入Stack集合里;
ss.Push("i");在添加时,括号中需要加双引号,无论是int型还是string型;

3、如何读取数据:
运用foreach循环:
foreach(string s in ss)//foreach根据集合构造,依次获取数据
{
Console.Write(s);
}
4、在Stack集合里没有索引;
Console.WriteLine(ss[0]);写中括号是不行的,堆集合没有索引。
5、属性:统计元素个数
Console.WriteLine(ss.Count);//count属性,获取元素个数

6、弹出移除数据

7、弹出不移除数据
string tanchu = ss.Peek().ToString();//只获取最后进去的那个数据值,不移除
8、清空集合
ss.Clear();
9、复制集合
ss.Clone();
只能一个一个弹出,没有索引;
特殊集合二、Queue--队列集合
1、定义:queue,排队,列队;
2、如何赋值:一个一个赋值

3、count属性,计算元素的个数

4、读取第一个元素,并从集合移除

5、读取第一个元素,不移除(仍存在集合中)

6、Contain(包含),判断是否包含某个元素,返回布尔值

特殊集合三、HashTable--哈希表集合
1、定义://哈希表集合,一个位置包含两个值,一个key,一个values;
Hashtable ht = new Hashtable();
2、如何赋值:需要自己加索引,加键,在读哈希表时,键值和value值要分开读;//不像数组中带有索引
ht.Add(0, "王超");
ht.Add(1, "范范");
ht.Add(2, "濛哥");
ht.Add(3, "雷子");
ht.Add(4, "丽丽");
ht.Add(5, "祥祥");
ht.Add(6, "孙琪");
3、 如何取值:
foreach (int i in ht.Keys)
{
Console.WriteLine(i);//keys代表键的一个集合,读出的是倒着读出来,先进后出
}
foreach (string s in ht.Values)
{
Console.WriteLine(s);//values代表value的一个集合
}
Console.ReadLine();
4、Contains (包含)判断是否包含某个键
Console.WriteLine( ht.Contains(4));//判断是否包含某个键

5、count属性,统计个数
格式:int geshu = ht.Count;
Console.WriteLine(geshu );

6、清空数据
ht.Clear();

7、移除数据
//remove移除,移除的是键的元素
// ht.Remove(4);//按照括号内的key值,移除key值和value

8、 没有索引,不能重复添加key;例: ht.Add(4, "丽丽");//键值(相当于索引),不能重复添加key;
9、 枚举类型:如何将key值和value值一块输出
IDictionaryEnumerator ide = ht.GetEnumerator();
while (ide.MoveNext())//返回bool值
{
Console.WriteLine(ide.Key+" "+ide.Value);
}
Console.ReadLine();

结语:指针问题
Stack:出口即入口,倒着走,先进后出
Queue:先进先出,
Hashtable:先进后出,入口即出口,movenext:下移
下图比较直观的反映出“先进后出”:

10-23C#基础--特殊集合(stack、queue、hashtable)的更多相关文章
- 特殊集合 Stack Queue Hashtable
//Stack 干草堆集合 栈集合 先进后出 Stack st = new Stack(); //实例化 初始化 st.Push(2); //添加元素 st.Push(6); s ...
- 集合、ArrayList 集合。Stack集合。Queue集合。以及Hashtable集合
arrayList 首先复制Colections加 : 创建arrayList ar =new arrayList(); //ArrayList al=new ArrayList(); ...
- Stack集合、queue集合、hashtable集合
1.栈:Stack,先进后出,一个一个赋值,一个一个取值,按顺序. .count 取集合内元素的个数 .push() 将元素一个一个推入集合中//stack集合存入 ...
- 数据结构设计 Stack Queue
之前在简书上初步总结过几个有关栈和队列的数据结构设计的题目.http://www.jianshu.com/p/d43f93661631 1.线性数据结构 Array Stack Queue Hash ...
- 第6节:Java基础 - 三大集合(上)
第6节:Java基础 - 三大集合(上) 本小节是Java基础篇章的第四小节,主要介绍Java中的常用集合知识点,涉及到的内容包括Java中的三大集合的引出,以及HashMap,Hashtable和C ...
- 10. Scala数据结构(上)-集合操作
10.1 数据结构特点 10.1.1 Scala集合基本介绍 uml => 统一建模语言 1) Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问 两个主要的包 不可变集合:s ...
- C#中集合ArrayList与Hashtable的使用
C#中集合ArrayList与Hashtable的使用 http://blog.csdn.net/linukey/article/details/42506819 ArrayList: 一. 注意事项 ...
- STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map
list vector deque stack queue priority_queue set [unordered_set] map [unordered_map] multimap [uno ...
- Windows 10开发基础——文件、文件夹和库(一)
原文:Windows 10开发基础--文件.文件夹和库(一) 主要内容: 1.枚举查询文件和文件夹 2.文本文件读写的三种方法——创建写入和读取文件 3.获得文件的属性 枚举查询文件和文件夹 先了解一 ...
- Stack&&Queue
特殊的容器:容器适配器 stack queue priority_queue:vector+堆算法---->优先级队列 stack: 1.栈的概念:特殊的线性结构,只允许 ...
随机推荐
- waitpid使用的一点问题
使用waipid的时候遇到了一个奇怪的问题,将情况简化后描述一下. 有关waitpid的基本介绍参见这里一下:http://www.cnblogs.com/mickole/p/3187770.html ...
- HDU3047 Zjnu Stadium
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- BZOJ3244/UOJ122 [Noi2013]树的计数
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- 这样子覆盖jquery的$
window.$ = function(){ alert('nihao'); } window.ad = function(){ alert('nihao1'); } !function($){ $( ...
- SSIS之序列容器
序列容器是一种十分简单,但使用非常广泛的容器,它可以对控制流的任务流组件进行结构化处理,把一些业务相关的任务组件,放到一个序列容器中,使整个包看起来更加整洁.美观,就如同我们家里的书柜.衣柜似的,把不 ...
- hdu 5239 Doom(线段树)
Doom Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Sub ...
- Linux(CentOS)下.NET,mono环境的安装步骤整理
本文Linux使用的是CentOS 7 1.软件下载 CentOS:https://www.centos.org/download/ mono-4.2.1.36.tar.bz2 http://down ...
- 如何将Emmet安装到到 Sublime text 3?第二部分该插件还能让我们自定义快捷键呼出某个浏览器以预览页面
看清楚哦~~这是Sublime text 3不是2的版本,两者的安装还是有区别的,下面的方法是我感觉比较简单的,其他的要命令什么的感觉太复杂了,经测试是OK的. 先关闭Sublime text 3: ...
- 分布式_理论_05_ 一致性算法 Paxos
一.前言 二.参考资料 1.分布式理论(五)—— 一致性算法 Paxos 2.分布式理论(五) - 一致性算法Paxos
- Image Pyramid
今天我们介绍图像处理邻域中比较常用的一种方法,image pyramid, 也叫图像金字塔.就是将图像进行一层一层的下采样,图像金字塔是为了构建图像的多尺度,让模型能够更好的适应图像的尺度变化,图像金 ...