泛型学习

using System; using System.Collections; namespace program { class wangjun { /// <summary> /// 对哈希表进行遍历,使用了两种 方法(foreach dictionaryentry和 foreach string) /// </summary> /// <param name="args"></param> static void Main(string[] args) { //建立哈希表对象 Hashtable hs = new Hashtable(); hs.Add("13", "1234123"); hs.Add("2", "sadfgasd"); hs.Add("4", "23123fs"); hs.Add("3", "12312sdf"); hs.Add("5", "sdfgasdfg"); //删除元素 hs.Remove("13"); //使用字典方法遍历哈希表 foreach (DictionaryEntry dic in hs) { Console.WriteLine("key={0} value={1}",(string)dic.Key,(string)dic.Value); } //空白两行 for (int i = 0; i < 2; i++) { Console.WriteLine(); } //建立arraylist对象并得到了哈希表的键的集合实例,用于对哈希表的的排序+遍历 ArrayList al = new ArrayList(hs.Keys); //对arraylist中的值(哈希表键)进行名称排序 al.Sort(); //使用foreach进行遍历 foreach (string s in al) { //这里用到了(string)hs[s]因为哈希表存放的是object所以这里要进行强制转换 Console.WriteLine("key={0} value={1}",s,(string)hs[s]); } //空白两行 for (int i = 0; i < 2; i++) { Console.WriteLine(); } //对arraylist的值(哈希表的键)进行反向排序 al.Reverse(); foreach (string s in al) { //这里用到了(string)hs[s]因为哈希表存放的是object所以这里要进行强制转换 Console.WriteLine("key={0} value={1}",s,(string)hs[s]); } } } }

(三)Stack:栈,表示对象的简单的后进先出非泛型集合。Push方法入栈,Pop方法出栈。 using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Stack sk = new Stack(); Stack sk2 = new Stack(); foreach (int i in new int[4] { 1, 2, 3, 4 }) { sk.Push(i);//入栈 sk2.Push(i); } foreach (int i in sk) { Console.WriteLine(i);//遍历 } sk.Pop();//出栈 Console.WriteLine("Pop"); foreach (int i in sk) { Console.WriteLine(i); } sk2.Peek();//弹出最后一项不删除 Console.WriteLine("Peek"); foreach (int i in sk2) { Console.WriteLine(i); } } } } (四)哈希表 一、哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对. 二、哈希表的简单操作 在哈希表中添加一个key/value键值对:HashtableObject.Add(key,value); 在哈希表中去除某个key/value键值对:HashtableObject.Remove(key); 从哈希表中移除所有元素: HashtableObject.Clear(); 判断哈希表是否包含特定键key: HashtableObject.Contains(key); 下面控制台程序将包含以上所有操作: using System; using System.Collections; //使用Hashtable时,必须引入这个命名空间 class hashtable { public static void Main() { Hashtable ht=new Hashtable(); //创建一个Hashtable实例 ht.Add("E","e");//添加key/value键值对 ht.Add("A","a"); ht.Add("C","c"); ht.Add("B","b"); string s=(string)ht["A"]; if(ht.Contains("E")) //判断哈希表是否包含特定键,其返回值为true或false Console.WriteLine("the E key:exist"); ht.Remove("C");//移除一个key/value键值对 Console.WriteLine(ht["A"]);//此处输出a ht.Clear();//移除所有元素 Console.WriteLine(ht["A"]); //此处将不会有任何输出 } }

原文地址:https://www.cnblogs.com/zzxap/p/2175914.html