C#部分---特殊集合:stack栈集合、queue队列集合、哈希表集合。

时间:2023-01-13 08:58:24

1.stack栈集合;又名 干草堆集合 栈集合

特点:(1)一个一个赋值 一个一个取值
(2)先进后出
实例化 初始化
Stack st = new Stack();
//添加元素用push
st.Push(2);
st.Push(6);
st.Push(9);
st.Push(5);
st.Push(1);
输出个数
Console.WriteLine(st.Count);

只要使用一次pop方法,就会从最后一个元素开始排除 弹出
Console.WriteLine(st.Pop());

只想查看不弹出
Console.WriteLine(st.Peek());

遍历集合
foreach (int aa in st)
{
Console.WriteLine(aa);
}

2,queue队列集合;特点:先进先出

实例化 初始化
Queue que = new Queue();
添加元素

que.Enqueue();
que.Enqueue();
que.Enqueue();
que.Enqueue();
que.Enqueue();


移除一个元素 从头开始
que.Dequeue();

个数
Console.WriteLine(que.Count);

遍历集合
foreach(int aa in que)
{
 Console.WriteLine(aa);
}

3,HashTable 哈希表集合

特点:先进后出 一个一个赋值,但是只能一起取值
实例化 初始化
Hashtable ht = new Hashtable();
添加元素

ht.Add(, "张三");
ht.Add(, "李四");
ht.Add(, "王五");
ht.Add(, "赵六");
ht.Add(, "冯七");
ht.Add(, "钱八");

读取

foreach (object aa in ht.Keys)//单纯的存储key的集合
{
Console.WriteLine(aa);
}
foreach (string bb in ht.Values)单纯的存贮value的集合
{
Console.WriteLine(bb);
}

使用枚举类型进行读取,排列成表格

IDictionaryEnumerator ide = ht.GetEnumerator();
while(ide.MoveNext())
{
Console.WriteLine(ide.Key+"\t"+ide.Value);
}

C#部分---特殊集合:stack栈集合、queue队列集合、哈希表集合。的更多相关文章

  1. stack栈和Queue队列

    1.push将对象插入 System.Collections.Generic.Stack<T> 的顶部. Stack st = new Stack(); //栈是先进后出 st.Push( ...

  2. 检索 04 --Stack栈 Queue队列 Hashtable哈希表

    //Stack 先进后出 没有索引 Stack st = new Stack(); st.Push(12); st.Push(11); st.Push(22); st.Push(34); st.Pus ...

  3. Java数据类型Stack栈、Queue队列、数组队列和循环队列的比较

    判断括号是否匹配:调用java本身 import java.util.Stack; public class Solution { public boolean isValid(String s){ ...

  4. C&num;-集合及特殊集合——&starf;&starf;哈希表集合&starf;&starf;

    集合的基本信息: System.Collections命名空间包含接口和类,这些接口和类定义各种对象(如列表.队列.位组数.哈希表和字典)的集合. System.Collections.Generic ...

  5. c&num; 哈希表集合;函数

    * 哈希表集合 1.先进去的后出来,最后进去的先出来 2.利用枚举类型打印出集合中的Key值和Value值 ** 函数 1.函数:能够独立完成某项功能的模块. 函数四要素:输入.输出.函数体.函数名 ...

  6. java实现 数据结构:链表、 栈、 队列、优先级队列、哈希表

    java实现 数据结构:链表. 栈. 队列.优先级队列.哈希表   数据结构javavector工作importlist 最近在准备找工作的事情,就复习了一下java.翻了一下书和网上的教材,发现虽然 ...

  7. Java学习笔记31(集合框架五:set接口、哈希表的介绍)

    set接口的特点: 1.不包含重复元素 2.set集合没有索引,只能用迭代器或增强for循环遍历 3.set的底层是map集合 方法和Collection的方法基本一样 set接口的实现类HashSe ...

  8. 用数组模拟STL中的srack&lpar;栈&rpar;和queue&lpar;队列&rpar;

    我们在理解stack和queue的基础上可以用数组来代替这两个容器,因为STL中的stack和queue有可能会导致程序运行起来非常的慢,爆TLE,所以我们使用数组来模拟他们,不仅可以更快,还可以让代 ...

  9. 特殊集合 Stack Queue Hashtable

    //Stack    干草堆集合    栈集合      先进后出 Stack st = new Stack(); //实例化 初始化 st.Push(2); //添加元素 st.Push(6); s ...

随机推荐

  1. 广州的小伙伴福利-由微软组织的在广州SQL Server线下活动

    请按照如下格式报名.

  2. linux启动流程

    看了深入理解linux内核一书的最后对linux启动流程的介绍,下面就把我能理解的写一下吧: bios(硬件加电自检POST,寻找第一个启动设备) the boot loader(可以从硬盘启动也可以 ...

  3. dom div重合提示

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. git Clone SSL certificate problem&colon; self signed certificate

    自己的git服务器遇到证书是自签的,git验证后会拒绝,此时,采用如下命令临时禁用就好 git -c http.sslVerify=false clone https://domain.com/pat ...

  5. Visual Stuido 2015 Community 使用 GitHub 插件

    微软在Visual Studio 2015产品中,深度整合了GitHub,让VS用户更方便的使用GitHub的服务. 新闻链接: Announcing the GitHub Extension for ...

  6. EffectiveC&num;1--尽可能的使用属性(property),而不是数据成员(field)

    1.属性可以进行数据绑定 2.可以做数据安全校验.在对数据检测时,如果发现数据不满足条件,最好以抛出异常的形式来解决 如下代码不可取 public string Name { get { if(thi ...

  7. laravel-elasticsearch 全文搜索设置

    1.首先安装 jave环境 jdk 下载地址 ,我用的是最新版本的,有时版本要跟elasticsearch对应 2.安装elasticsearch 下载地址 3.安装Laravel scout 全文搜 ...

  8. Java开发知识之JAVA的反射

    目录 Java中的反射机制 一丶什么是反射机制 二丶Class类,自描述类.获取类名的三种方法 1.使用静态属性Class获取 2.使用Class方法 forName()获取自描述Class 3.使用 ...

  9. javascript的数组之pop&lpar;&rpar;

    pop()方法从数组中删除最后一个元素,并返回该元素的值.此方法更改数组的长度. let a = [1, 2, 3]; a.length; a.pop(); console.log(a); // [1 ...

  10. docker容器与宿主交互数据

    1.查看容器 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cd6957191 ...