您的位置:首页 > 产品设计 > UI/UE

集合( Stack / Queue / Hashtable 都没有索引)

2014-10-23 13:26 585 查看
/* // 集合 Stack 没有索引!"好比是死胡同"

Stack s=new Stack (); //特殊集合 堆!先进后出,后进先出

s.Push("1"); //赋值内容 要用 “”

s.Push("2");

s.Push("3");

s.Push("4");

s.Push("5");

// Console.WriteLine(s.[2]); 无法用索引[]

foreach (string a in s) //根据集合的构造,依次获取数据!//要想读取集合,要用foreach()

{ Console.WriteLine(a); }

Stack fuzhi = (Stack)s.Clone(); //复制Stack集合s

string tanchu = s.Pop().ToString(); //弹出并移除,集合里最后一个添加的字符。注意书写()格式!

string chakan= s.Peek().ToString(); //读取但是不移除,最后一个添加的元素,!

// s.Clear(); //表示清空集合!

Console.WriteLine(s.Count); //返回int值,获取集合中元素 个数

// Console.WriteLine(s[1]); //此时无法读取集合中的元素。Stack没有索引

Console.ReadLine();*/

/* // 队列 queue ,没有索引排队付账

Queue q = new Queue(); //只能先进先出,排队!

q.Enqueue(3);

q.Enqueue(4);

q.Enqueue(8);

q.Enqueue(2);

// int b=q[2]; queue 没有索引,不能用[]取集合中的元素!

foreach (int a in q)

{ Console.WriteLine(a); }

int zhi = int.Parse(q.Peek().ToString()); //只读取排队的第一个元素,不移除!

Console.WriteLine(zhi);

bool c = q.Contains(8); // 判断Queue集合中 是否 包含元素 8

Console.WriteLine(c); //要有输出,才能显示. Ture or Flase

int yichu = int.Parse(q.Dequeue ().ToString()); //移除排队的第一个元素 "delect queue"

Console.WriteLine(yichu); //此时,这里输出是 3

Console.WriteLine("下面是新queue集合 h : ");

Queue h = q;

foreach (int d in h)

{ Console.Write(d); } //此时已经移除了q中第一个元素 3

Console.ReadLine(); */

// Hashtable 哈希表包含 keys 和 values。没有索引!

Hashtable h=new Hashtable (); //没有索引不能用 [] 引用,前面数字可以随便写

h.Add(0,"王超");//向哈希表里添加元素! h.Add(1,"范磊"); h.Add(2,"王濛"); h.Add(3,"王雷雷"); h.Add(4,"田园青"); h.Add(5,"刘春丽"); h.Add(6,"孙琪"); h.Add(7,"孟享祥"); h.Add(8,"朱晓璞");

IDictionaryEnumerator ide = h.GetEnumerator();

while (ide.MoveNext())

{

Console.WriteLine(ide.Key+" "+ide.Value); //这样输出‘ 0 王超 ’,依次输出。

}

ArrayList aa = new ArrayList();

foreach (int a in h.Keys) //注意读取表达格式。h.Keys / Values

{

Console.WriteLine("h集合中的:" + a); //分开读取,好比两个 Stack 集合!先入后出!

aa.Add(a );

}

foreach (int f in aa)

{ Console.WriteLine("aa集合中的:" + f); } //这里是打印ArrayList集合 aa

ArrayList aaa = new ArrayList();

foreach (string b in h.Values )

{

Console.WriteLine("h集合中的:"+b);

aaa.Add(b); //输的内容是和Hashtable输出values内容一直

}

foreach (string r in aaa) //foreach列举时,一定要保证元素类型一致!string

{ Console.WriteLine("aaa集合中的:" + r); }

h.Remove(4); //移除。 按照()内的keys值移除。这里移除的是(4,田园青)!

Console.WriteLine(h.Contains(66)); // 判断是否包含66的 keys 键 ,返回bool值。

int geshu = h.Count; //Hashtable 元素个数

Console.WriteLine("元素个数:"+geshu);

// h.Clear(); //清空Hashtable

Hashtable hh = h;

foreach (int f in hh.Keys) //注意读取表达格式。 h.Keys / Values

{ Console.WriteLine(f); //分开读取,好比两个 Stack 集合!先入后出! }

foreach (string j in hh.Values)

{ Console.WriteLine(j); }

Console.ReadLine();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐