2014-12-19 特殊集合:stack、queue、Hashtable

//特殊集合,栈 stack
            Stack ss = new Stack();
            ss.Push(3);  //向栈中插入3

Console.WriteLine(ss.Peek());  //返回最后一个进入栈的元素
            Console.WriteLine(ss.Pop());  //返回并移除最后一个进入栈的元素
            ss.Contains(5);  //是否包含5
            ss.Clear();  //清空
            object[]shuzu=(object[])ss.ToArray();
            foreach(int a in shuzu)
            {
                Console.WriteLine(a);
            }
            ss.Count; //获取元素的个数

//特殊集合,队列,queue 类
           
Queue qu=new Queue();
            qu.Enqueue(3);  //向队列中插入3
            Console.WriteLine(qu.Peek());  //返回队里列的最前面的元素,最开始位置的元素
            Console.WriteLine(qu.Dequeue()); //移除并获取最初始位置的元素
            int a = qu.Count;
            qu.Clear(); //清空
            qu.Contains(5); //是否包含5

//特殊集合,哈希表,Hashtable 类
            Hashtable ht = new Hashtable();
            ht.Add("a", "zhangsan"); //a代表zhangsan
            ht.Add("b", "sli");
            ht.Add("c", "wangwu");
            //读取数据:读取key值
            ICollection htkeys = ht.Keys;
            Console.WriteLine(htkeys.Count);  //返回htkeys里面有多少个键值
            string[] ss = new string[3];  //定义一个数组来接受数据
            htkeys.CopyTo(ss,0);
            //读取数据:读取vlaues值
            ICollection htvalues=ht.Values;
            string[] ss2 = new string[3];
            htvalues.CopyTo(ss2, 0);
            //接受key和vlaues一起的数据
            IDictionaryEnumerator id = ht.GetEnumerator();
           object key1= id.Key;
           object vlaue1= id.Value;
           while (id.MoveNext())   //返回bool值
           {
               object key2 = id.Key;
               object vlaue2 = id.Value;
           }
           ht.Remove("b");  //移除键为b的所有内容

时间: 2024-10-11 18:11:01

2014-12-19 特殊集合:stack、queue、Hashtable的相关文章

特殊集合 Stack Queue Hashtable

//Stack    干草堆集合    栈集合      先进后出 Stack st = new Stack(); //实例化 初始化 st.Push(2); //添加元素 st.Push(6); st.Push(9); st.Push(5); st.Push(1); Console.WriteLine(st.Count); Console.WriteLine(st.Peek()); //peek方法,只查看不弹出 Console.WriteLine(st.Pop()); //只要使用pop方法

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

/*   // 集合     Stack         没有索引!"好比是死胡同"   Stack s=new Stack ();       //特殊集合  堆!先进后出,后进先出!   s.Push("1");                //赋值内容  要用     “”   s.Push("2"); s.Push("3"); s.Push("4"); s.Push("5");

Discuz & UCenter 修改手记 - 2014.12.19

最近在整JAVA和UCENTER的东西,受限于项目架构需要,无法完全以UCENTER为中心,所以在对接过程中遇到了许多不愉快的事情.经历多番研究,终于解决了其中了两个大问题,现记录下来,以备日后查看. 一.解决email必须填写的问题 项目并不要求用户注册时填写email,但UCENTER API要求必须输入email才可以通过验证,不得已必须得修改UCENTER代码才能绕过.以下是改动的代码: /uc_server/control/user.php 69行: 1 // NOTE: 解决emai

15-07-10 Stack集合、queue集合、hashtable集合

1.栈:Stack,先进后出,一个一个赋值,一个一个取值,按顺序. .count           取集合内元素的个数 .push()         将元素一个一个推入集合中//stack集合存入用.push() .pop()           将元素一个个弹出集合 .clear()         清空集合 Stack s = new Stack();//先存入的后取出 s.Push(1); s.Push(2); s.Push(3); Console.WriteLine(s.Pop())

集合、ArrayList 集合。Stack集合。Queue集合。以及Hashtable集合

arrayList 首先复制Colections加  : 创建arrayList ar =new arrayList(); //ArrayList al=new ArrayList();            //实例化初始化            //al.Add(4);            //真的添加            //al[0]=3;            //al[0]这种赋值方式只是修改            //Console.WriteLine(al[0]);     

Stack集合、queue集合、hashtable集合

1.栈:Stack,先进后出,一个一个赋值,一个一个取值,按顺序. .count           取集合内元素的个数 .push()         将元素一个一个推入集合中//stack集合存入用.push() .pop()           将元素一个个弹出集合 .clear()         清空集合 Stack s = new Stack();//先存入的后取出 s.Push(1); s.Push(2); s.Push(3); Console.WriteLine(s.Pop())

JDK的弃儿:Vector、Stack、Hashtable、Enumeration

随着JDK的发展,一些设计缺陷或者性能不足的类库难免会被淘汰,最常见的就是Vector.Stack.HashTable和Enumeration了. Vector(@since 1.0) 首先看看Vector的UML类图,可以看出,他是一个与ArrayList有着相同继承体系的类,大致功能也和ArrayList一样.Vector与ArrayList最大的不同点在于它是线程安全的,因为其内部几乎所有方法都用了synchronized来修饰.但是,Synchronized是重量级锁,读写操作也没有做适

STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map

STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map   list vector deque stack queue priority_queue set [unordered_set] map [unordered_map] multimap [unordered_multimap]     contiguous storage double-ended queue LIFO FIFO 1st is greatest  

C#中集合ArrayList与Hashtable的使用

C#中集合ArrayList与Hashtable的使用 http://blog.csdn.net/linukey/article/details/42506819 ArrayList: 一. 注意事项: 1.可以指定ArrayList集合的初始大小 var list = new ArrayList(10);//容纳10个元素 若不指定大小,则默认大小为0,添加一个后为4,然后以倍数递增. 2.ArrayList是Array的复杂版本,ArrayList内部封装了一个Object类型的数组,从一般

2014.8.19穷举法

穷举法(for循环嵌套) eg: 1 //100购物券,香皂2元,牙刷5元,洗发水15元,购物券不找零,每样至少买一个,哪个组合能吧100元正好花完 2 int count = 0; 3 for (int i = 1; i <= 40; i++)//香皂穷举 4 { 5 for (int j = 1; j <= 17; j++)//牙刷穷举 6 { 7 for (int k = 1; k <= 7; k++)//洗发水穷举 8 { 9 if (2 * i + 5 * j + 15 * k