程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 11、C#基礎整理(特殊集合和哈希表),

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

編輯:C#入門知識

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");   ——  根據鍵值移除該鍵

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved