集合( 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();
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();
相关文章推荐
- 例题:把一个超市购物的题做成函数。这个题做成函数没有必要,但可以了解输入参数,输出参数,返回值,函数体,还有结构体,ArryList集合,for循环算结果,以及集合里 .count的使用
- DataGridView绑定DataTable,出现索引0没有值的情况
- C++ STL入门教程(7)——multimap(一对多索引),multiset(多元集合)的使用(附完整程序代码)
- 使用索引的误区之一:没有使用复合索引的前导列导致查询不使用索引
- 为预热准备更新时间列的查询办法,解决原表中没有索引的问题
- 错误提示:在对应所需对应的序列或 集合中没有找到对应的项目。
- RC隔离 更新where条件列 没有索引的情况
- 问题-你工作见到的索引是从0开始的和从1开始的...暂时叫做集合吧-求补充
- 《Java虚拟机原理图解》1.3、class文件中的访问标志、类索引、父类索引、接口索引集合
- apache在目录没有index时禁止显示目录索引列表
- Script:列出数据库中子表上没有对应索引的外键
- Oracle 12C -- 在相同的列的集合上创建多个索引
- mysql 没有索引导致的cpu过高
- 【ASP.NET】索引超出范围。必须为非负值并小于集合大小。参数名 index
- 6、JPA_映射单向多对一的关联关系(n的一方有1的引用,1的一方没有n的集合属性)
- 没有索引也可以快速查询
- mysql sp_add_Index 先判断有没有索引 没有就添加
- 在标准MySQL 5.6上查询没有使用过的索引的SQL
- C# 索引同时含有数字和字符串的集合 同时具备IList和IDictionary的特点
- Java没有源代码的同步集合~