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


    数组列表和数组十分相似,区别在于数组列表的容量是可以动态变化的,而数组的容量是固定的。数组即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();

  • 相关阅读:
    AOSP 设置编译输出目录
    android stadio 编译报错:download fastutil-7.2.0.jar
    Ubuntu adb 报错:no permissions (user in plugdev group; are your udev rules wrong?);
    Ubuntu 18启动失败 Started Hold until boot procss finishes up
    算法---------两数之和
    Windows 显示环境变量
    Android ObjectOutputStream Serializable引发的血案
    (AOSP)repo checkout指定版本
    如果看懂git -help
    Android stado 运行项目,apk does not exist on disk.
  • 原文地址:https://www.cnblogs.com/mengnan/p/4890438.html
Copyright © 2020-2023  润新知