.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();

时间: 2024-10-12 08:50:59

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

列表、元组、字典、集合的相关练习

一.建立学号成绩字典,并进行怎删改操作 s = {'01':'100','02':'99','03':'98','04':'97','05':'96','05':'96','06':'95','07':'98','08':'90','09':'91'} print('成绩表:',s) s.pop('09') print('成绩表:',s) print('主键是:',s.keys()) print('分数是:',s.values()) x = input('输入学号查分数:') print(s.g

Python(三) list列表(数组)

list基本操作 列表定义:中括号括起来,中间用逗号隔开 索引(下标.角标):列表中的第一个元素的索引是0,索引可以更方便的操作列表 访问列表元素:列表名字[索引] 定义一个空的list stu_info=[] stu_info=list() 增加元素 1.append:在列表的末尾增加元素 2.insert:在指定位置添加元素,listname.insert(索引,''元素值) 注意:用insert方法增加元素时,如果指定的下标不存在时,难么就在列表的末尾增加元素 len():查看元素里面的个

JavaScript高级程序设计--对象,数组(栈方法,队列方法,重排序方法,迭代方法)

1.使用对象字面量定义对象 var person={}; 使用这种方式创建对象时,实际上不会调用Object构造函数. 开发人员更喜欢对象字面量的语法. 2.有时候需要传递大量可选参数的情形时,一般来讲使用对象字面量来封装多个可选参数. 3.对象属性的点表示法与方括号表示法的区别 (1)功能上:两者没区别 (2)但是方括号的有点是可以通过变量来访问属性 例如: var person={ name:"Nic" } 点表示法:person.name 方括号表示法:var prop=“nam

<<Python基础教程>>学习笔记 | 第02章 | 列表和数组

第02章: 列表和数组 ------ 在Python中最基本的数据结构是序列,每个元素分配一个序号,即元素的序号,也即索引.注意,需要从0开始,第一位0,第二位为1,依次类推. Python包括: 字符串,列表,元祖,字典 这四种常用数据结构,或者说四种序列,其中元祖为不可变序列. 列表和元祖的主要区别 列表可变,而元祖不可变             >>>list1 = ['Tom',40] 所以元祖: 主要用于存储不变的数据   >>> >>> t

数据结构 线性结构(数组[列表] ,链表 单链表的增删改查**, 线性结构的应用 队列 栈[函数的调用**]),非线性结构 树

数据结构 参考:http://lupython.gitee.io/ 线性结构 就是能够用一根线串起来的数据结构 数组 (列表) 问:申请数组的前提条件是啥? a[12]?内存需要满足的条件? 答:内存必须有一块连续的内存空间 int a[7] : 声明一个数组,这个数组的数组名是 a, 数组的大小是 7, 数组元素的类型是整型. int a[7] = array(1,2,3,4,5,6,7) 问:如何申请内存? 答:C,C++语言,申请:mallco (28).释放:free(28) 问:int

数组与数组列表

数组 数组代表一系列对象或者基本数据类型,所有相同的类型都封装到一起——采用一个统一的标识符名称.简单来讲,数组就是一组相关数据的集合,是一连串的变量.Java中数组的定义和使用时通过方括号索引运算符进行的({}),一般来说,有两种定义数组的方法,只需在类型名或标识符后跟一对方括号即可. int[] a1; int a1[]; 两种表示方法是完全一样的.此时只是声明了指向数组的一个对象,并未对其分配任何空间,为了创建数组相应的存储空间,就必须要写一个初始化表达式.如: int b = {1, 2

1、打印二进制机器码,程序内存分析,大端序小端序,指针数组,数组指针,数组的三种访问方式,typedef,#if-0-#endif,求数组大小,括号表达式

 1.打印二进制机器码(分别表示32位的和64位的) #include <stdio.h> /*按照8位的长度打印一个数值*/ void dis8bit(char val) { int bit = 8; while(bit--) { if(1<<bit&val){ printf("1"); } else { printf("0"); } if(!(bit%4)) printf(" "); } putchar(1

ArrayList数组列表

ArrayList数组列表 Collection接口和List接口的区别 List接口扩充了Collection接口,添加了索引相关的方法. code example Object get(int index) Object set(int index,Object element) int indexOf(Object elem) void add(int index,Object element) Object remove(int index) List接口中的大多数方法是基于索引的. A

队列的三种实现(静态数组、动态数组及指针)

本文有关栈的介绍部分参考自网站数据结构. 1. 队列  1.1 队列的定义 队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表. (1)允许删除的一端称为队头(Front). (2)允许插入的一端称为队尾(Rear). (3)当队列中没有元素时称为空队列. (4)队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表.    队列的修改是依先进先出的原则进行的.新来的成员总是加入队尾(即不允许"加塞"),每次离开的成员总是队列头