zoukankan      html  css  js  c++  java
  • Chapter 5. 集合---(ArrayList、Stack、queue、哈希表)

     //ArrayList集合
                //定义:
                ArrayList al = new ArrayList();
                //添加元素:追加到集合的最后
                al.Add(1);
                al.Add(2);
                al.Add(3);
                al.Add(4);
                al.Add(5);
                Console.WriteLine("第一个位置的元素为:"+al[0]);
                //插入元素
                al.Insert(0,9); //在索引0的位置插入9,后边数据依次靠后
                Console.WriteLine("插入9后,第一个位置的元素为:"+al[0]);
                //移除元素
                al.Remove(4); //移除第一次出现的这个元素
                Console.WriteLine("移除元素4后的集合:");
                foreach(object a in al)
                {
                    Console.WriteLine(a);
                }
                al.RemoveAt(4); //移除这个索引值的元素
                Console.WriteLine("移除索引值为4后的集合:");
                foreach (object a in al)
                {
                    Console.WriteLine(a);
                }
                //获取集合元素个数
                Console.WriteLine("集合中元素个数为:"+al.Count);
                //判断是否有括号内的数据,返回的是bool值(True或者False)
                bool b = al.Contains(3);
                Console.WriteLine("集合内是否有元素3:"+b);
                //自动进行排序,升序
                al.Sort();
                Console.WriteLine("升序排列后的集合:");
                foreach (object a in al)
                {
                    Console.WriteLine(a);
                }
                //将集合翻转,一般是进行Sort排序之后翻转,变成从大到小
                al.Reverse();
                Console.WriteLine("翻转后的集合:");
                foreach (object a in al)
                {
                    Console.WriteLine(a);
                }
                //克隆一个一模一样的集合
                ArrayList aal = new ArrayList();
                aal = (ArrayList)al.Clone();
                Console.WriteLine("克隆后的集合:");
                foreach (object a in aal)
                {
                    Console.WriteLine(a);
                }
                //将集合清空
                al.Clear();
                Console.ReadLine();

     // Stack集合:栈集合,先进后出,逐个取值逐个赋值
                // 定义方式:
                Stack aa = new Stack();
                // .push:向集合内推送元素
                aa.Push(1);
                aa.Push(2);
                aa.Push(3);
                aa.Push(4);
                aa.Push(5);
                // .count:获取集合内元素个数
                Console.WriteLine("集合内元素个数:"+aa.Count);
                // 弹出元素,集合中便没有这个元素
                Console.WriteLine("弹出元素,并移除:"+aa.Pop());
                // 拿出看看,并不进行移除
                Console.WriteLine("弹出元素,不移除:"+aa.Peek());
                // 遍历集合
                Console.WriteLine("遍历集合:");
                foreach (object aaa in aa)
                {
                    Console.WriteLine(aaa);
                }
                //克隆
                Stack bb = new Stack();
                bb =(Stack)aa.Clone();
                Console.WriteLine("克隆后的集合:");
                foreach(object aaa in bb)
                {
                    Console.WriteLine(aaa); 
                }
                //清空集合
                aa.Clear();
                Console.ReadLine(); 

    // Queue队列集合:先进先出,逐个赋值,逐个取值
                //定义方式
                Queue que=new Queue();
                //添加数据
                que.Enqueue(1);
                que.Enqueue(2);
                que.Enqueue(3);
                que.Enqueue(4);
                que.Enqueue(5);
                que.Enqueue(6);
                //移除一个数据
                Console.WriteLine("移除第一个数据:"+que.Dequeue());
                //拿出数据
                Console.WriteLine("只拿出第一个数据不移除:"+que.Peek());
                //遍历集合
                Console.WriteLine("遍历集合:");
                foreach(object a in que)
                {
                    Console.WriteLine(a);
                }
                Console.ReadLine();

    //哈希集合:先进后出,逐个赋值,一起取值
                Hashtable ht = new Hashtable();
                ht.Add(0, "张三");
                ht.Add(1, "李四");
                ht.Add(2, "王五");
                ht.Add(3, "赵六");
                ht.Add(4, "冯七");
                //移除数据
                ht.Remove(2);
                //判断是否包含
                Console.WriteLine("是否包含2:"+ht.Contains(2));
                //遍历集合:倒序打印,类似stack集合
                Console.WriteLine("遍历集合,key值:");
                foreach (int i in ht.Keys) 
                {
                    Console.WriteLine(i);
                }
                Console.WriteLine("遍历集合,value值:");
                foreach(string s in ht.Values)
                {
                    Console.WriteLine(s);
                }
                Console.ReadLine();
    
    
                //利用枚举类型读取集合中的所有数据,像表格一样排列
                IDictionaryEnumerator id = ht.GetEnumerator();
                //获取到里边每个key值value值
                //循环打印:移动到下一个key值,value值
                Console.WriteLine("遍历集合,枚举:");
                while (id.MoveNext())
                {
                    Console.WriteLine(id.Key+"	"+id.Value);
                }
                Console.ReadLine();  

  • 相关阅读:
    C语言中标识符的作用域、命名空间、链接属性、生命周期、存储类型
    循环练习
    ArrayList集合

    方法
    表单标签
    HTML基础
    二维数组
    一维数组
    switch选择结构
  • 原文地址:https://www.cnblogs.com/xiao55/p/5481406.html
Copyright © 2011-2022 走看看