11、C#基础整理(特殊集合和哈希表)

特殊集合:队列、栈

一、栈Stack类:先进后出,没有索引

Stack ss = new Stack();

1、增加数据:push :将元素推入集合

ss.Push(3);
ss.Push(5);
ss.Push(7);

2、获取数据:
(1)peek返回位于stack顶部的对象但不移除(获取最后一个进入的元素的值)

Console.WriteLine(ss.Peek());//7

(2)pop将元素一个个弹出集合(读取并移除)

Console.WriteLine(ss.Pop());//7
Console.WriteLine(ss.Pop());//5

3、其他操作

ToArray:返回数组类型,将栈中的元素转换成集合,然后放到数组里

object[] shuzu = (object[])ss.ToArray();
foreach(object a in shuzu)
{
Console.WriteLine(a);
}

二、队列Queue类:先进先出

1、定义方法:

Queue q = new Queue();

2、增加:

(1)Enqueue将元素放到队列末尾

q.Enqueue(3);
q.Enqueue(5);
q.Enqueue(7);

(2)Peek:返回开始处的对象但不移除

Console.WriteLine("Peek:"+q.Peek());//3

3、获取:Dequeue移除并返回位于队列开始处的对象

Console.WriteLine("Dequeue:"+q.Dequeue());

哈希表Hashtable类

以键值成对读取数据,可以自己设置索引

Hashtable ht = new Hashtable();
ht.Add("a", "zhangsan");//一个任意类型的key + 一个任意类型的value值
ht.Add("b", "lisi");
ht.Add("c", "wangwu");

打印哈希表中元素个数的方法:

ICollection htkeys = ht.Keys;
Console.WriteLine(htkeys.Count);

读取key值

//copyto---复制到一个数组中
string[] ss1 = new string[3];
htkeys.CopyTo(ss1,0);

读取value值

ICollection htvalues = ht.Values;
string[] ss2 = new string[3];
htvalues.CopyTo(ss2,0);

成对读取:key和value都需要重新定义

IDictionaryEnumerator id = ht.GetEnumerator();
//object key1=id.Key;//获取一个值
//object value1 = id.Value;
//id.MoveNext();//往下移一个元素,返回布尔值,如果为false就不能再移动了
while(id.MoveNext())
{
object key2=id.Key;
Console.WriteLine(key2.ToString());
object value2 = id.Value;
Console.WriteLine(value2.ToString());
}

ht.Remove("b");   ——  根据键值移除该键

时间: 2024-07-29 13:12:06

11、C#基础整理(特殊集合和哈希表)的相关文章

集合差集 哈希表 比较数据库中的图片和服务器上的图片,将服务器上的垃圾图片删除

SSH 框架下code: public String deleRubbishAd(){ int deleADcount = 0; rubbishADtp = configDao.rubbishADtp(); //数据库中的广告图片集合 Map<Object,Object> shujuku= new HashMap<Object,Object>(); File adfile = new File("C://Program Files//Apache Software Fou

Stack集合 Queue队列集合 Hashtable哈希表

Stack集合 干草堆集合 栈集合 栈;stack,先进后出,一个一个赋值,一个一个取值,安装顺序来. 属性和方法 实例化 初始化 Stack st = new Stack(); 添加元素 1 个数 2 Console.WriteLine(st.Count); 3 只要使用一次pop方法,就会从最后一个元素开始排除 弹出 4 Console.WriteLine(st.Pop()); 5 Console.WriteLine(st.Count); 6 只想查看不弹出 7 Console.WriteL

Java List集合和哈希表

List集合和Set集合,先来看List集合. List集合存储元素的特点: 1.有序(List集合中的元素有下标):存进去是什么样,取出来还是什么样 2.可重复 可以结合以下的简单代码来看一看. import java.util.*;public class ListTest01{ public static void main(String[] args){   List l=new ArrayList();   l.add(100);   l.add(32);   l.add(32); 

10、C#基础整理(集合)

集合 1.集合的引用 using System.Collections;//添加类 2.定义集合(ArrayList 或 Array) ArrayList arr = new ArrayList(); 3.添加数据(可以放多种不同数据类型,但最好只放一种) (一)单个数据 方法1:add增加 arr.Add(3); arr.Add(5); arr.Add("hello"); 输出结果: Console.WriteLine("add[0]:"+arr[0]); //通

集合框架--哈希表

其中拉链法只是解决冲突的一种算法而已 原文地址:https://www.cnblogs.com/dreamHighMjc/p/8146490.html

Java基础知识:集合

Java 集合 1. Collection Iterator接口: 2. List 有序的 Collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素. 正因为List是有序的,相对于Collection,其增加了以下几个方法: 添加: void add(int index, E element) //在列表的指定位置插入指定元素 void addAll(int index, Collec

java基础5:集合

关于Java基础的文章,我觉得写得还可以,以前发在了我其它的博客了,肯定是原创,现在再分享给大家出来. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

【转载】100多个很有用的JavaScript函数以及基础写法大集合

1.document.write("");为 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转

linux基础整理0316

一.linux基础整理 由于这是学习linux的第一周,整理的东西很杂很分散,其中包括了查看虚拟机的各种信息,命令相关的只整理了alias.date.history.cal.帮助会话screen等命令的使用,最后加上了两个常见问题处理办法:在以后的学习中会不断完善文中整理的相关内容. 1.查看系统信息类命令: 查看内核版本 [root@CentOS7 ~]#uname -r 3.10.0-957.el7.x86_64 查看系统版本 查看配置文件 [root@CentOS7 ~]#cat /etc