/* // 集合 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();