码迷,mamicode.com
首页 > 编程语言 > 详细

.NET重思(三)-数组列表与数组的区别,栈集合和队列结合的区别

时间:2015-10-18 23:05:36      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

数组列表和数组十分相似,区别在于数组列表的容量是可以动态变化的,而数组的容量是固定的。数组即Array类,数组列表即ArrayList类,两者十分相似。不过,Array类在System命名空间下,ArrayList类在System.Collections命名空间下。数组在初始化时需要指定容量,并且指定之后无法改变,而数组列表可以动态的改变容量。

       //初始化ArrayList
            ArrayList lst = new ArrayList();
            //初始化ArrayList并将容量设置为100
            ArrayList lst2 = new ArrayList(100);
            ArrayList lst3 = new ArrayList();
            //设置容量为300
            lst3.Capacity = 300;

            int temp = 3;
            //向ArrayList中添加子项
            lst.Add(temp);
            int temp2 = 4;
            //向ArrayList中插入子项,第一个参数为插入位置
            lst.Insert(1, temp2);
            int[] arr = new int[] {0,1,2,3};
            //向ArrayList中插入集合子项
            lst.AddRange(arr);

            foreach(var obj in lst)
            {
                Console.WriteLine(obj);
            }

            //移除ArrayList项数为1的子项
            lst.RemoveAt(1);

            Console.WriteLine("移除后:");
            foreach (var obj in lst)
            {
                Console.WriteLine(obj);
            }

栈集合和队列集合都是System.Collections命名空间下的集合类型。栈集合类似于仅包括一个入口的容器,最先放进去的内容最后被取出,而最后放进去的内容最先被取出。队列集合则类似于两端分别为入口和出口的容器,最先进去的内容最先被取出,最后进去的内容最后被取出。栈集合和队列集合的其他方法都十分相似。

       //stack和queue用法相似,用vs代码提示很清楚2333
            Stack stack = new Stack();
            //添加子项
            stack.Push(1);
            stack.Push(arr);
            //返回最外面的子项(对于栈,即使最后添加的子项)
            object obj2 = stack.Peek();
            stack.Pop();
            object[] array_obj = stack.ToArray();
                            
            Console.WriteLine(obj2);

            Console.ReadKey();

.NET重思(三)-数组列表与数组的区别,栈集合和队列结合的区别

标签:

原文地址:http://www.cnblogs.com/mengnan/p/4890438.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!