转自:http://www.cnblogs.com/ysz12300/p/5595907.html

引入ArryList的方法->命名空间:using System.Collections;

ArrayList即动态数组(可变数组),它可以动态的增加和减少元素,另外它可以存储任意个数和任意类型的元素(即对所添加的数据和类型不做限制)。

属性  Count属性是目前ArrayList包含的元素的数量(数组长度),这个属性是只读的 Capacity属性是目前ArrayList能够包含的最大数量,可以手动的设置这个属性,但是当设置为小于Count值的时候会引发一个异常。

方法  Add(v):添加一个元素(参数v,任何类型)到当前列表的末尾

AddRange方法用于添加一批元素到当前列表的末尾

Remove方法用于删除一个元素,通过元素本身的引用来删除

RemoveAt(i):方法用于删除一个元素,通过索引值(参数i)来删除

RemoveRange用于删除一批元素,通过指定开始的索引和删除的数量来删除

Insert用于添加一个元素到指定位置,列表后面的元素依次往后移动

InsertRange用于从指定位置开始添加一批元素,列表后面的元素依次往后移动

Clear():方法用于清除现有所有的元素

Contains(v):方法用来查找某个对象(参数v)在不在列表之中

ToArray(Type t):这个方法把ArrayList的元素Copy到一个新的数组中,参数为Type类型

① 简单使用

ArrayList list = new ArrayList();  // 声明变量

list.Add(2);

list.Add("北京");

list.Add(new int[] { 2, 4, 6 });

list.Add("南京");

list.Add(3);

foreach (var p in list)

{     Console.Write(p.ToString() + " | ");  // 输出:2 | 北京 | System.Int32[] | 南京 | 3 | }

② ArrayList与数组转换

元素类型相同的转换

ArrayList list = new ArrayList();

list.Add(1);

list.Add(2);

list.Add(3);

// 转换方式1:ToArray()

int[] list2 = (int[])list.ToArray(typeof(int));

// 转换方式2:CopyTo()

int[] list3 = new int[list.Count]; list.CopyTo(list3);

元素类型不同的转换

ArrayList arr = new ArrayList(){ "北京", 1};   //往数组中添加不同类型的元素

object[] arr2 = (object[])arr.ToArray(typeof(object)); //正确

string[] arr3 = (string[])arr.ToArray(typeof(string)); //错误

ArryList的使用方法(基础使用-将来会不断添加)的更多相关文章

  1. C语言入门7-程序设计方法基础-循环结构

    程序设计方法基础-循环结构 循环三要素: 初值   循环判断条件   步长(循环增量) 循环结构在有些书籍上也称为重复结构,  即反复执行某一部分的操作. 循环三要素: 初值   循环判断条件   步 ...

  2. java方法基础

    java方法基础 方法的定义与调用 方法是命名的语句的有序集,是解决一类问题的步骤的有序组合. 方法包含于类或者是对象中,方法在程序中被创建,在其他地方被引用. 组成:方法是由方法头和方法体两部分组成 ...

  3. MyBatis基础入门《十》添加数据

    MyBatis基础入门<十>添加数据 描述: 修改了实体类:TblClient.java,将其字段:cbirthday 由String类型改成了Date类型. TblClient.java ...

  4. 【转载】C#中Add方法将往List集合末尾添加相应元素对象

    在C#的List集合操作中,有时候需要将符合条件的对象添加到已有List集合中的末尾,此时就需要使用到List集合的Add方法,Add方法的作用为将对应的元素添加到List集合末尾,Add方法签名为v ...

  5. LINQ查询表达式和LAMBDA点标记方法基础

    在上一篇文章中,我们介绍了LINQ的一些基本用法,这一篇我们来看下另一种更简洁更优雅的表达式,Lambda表达式,也可以叫做点标记方法. 相信大家在实际工作中都用到过这两种方式,下面我们还是用实例来看 ...

  6. Dart方法基础知识

    方法定义: void main(List args){ print(args); print(getPerson('wwk', 32)); } /*String getPerson(String na ...

  7. JavaSE复习~方法基础

    方法的概念 方法:就是讲一个功能抽取出来,把代码单独定义在其中,形成一个单独的功能 我们需要这个功能的时候,就可以去调用,实现了代码的复用性,也解决了代码冗余的问题 方法的定义 定义的一般格式:jav ...

  8. 【Java基础-实验7】Banking_7 -添加银行透支扣款系统的 thorw异常机制

    实验基本要求: 实验题目 7:(在6基础上修改) 将建立一个 OverdraftException 异常,它由 Account 类的withdraw()方法 抛出. 实验目的: 自定义异常 实验说明: ...

  9. JS数组方法汇总 array数组元素的添加和删除

    js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[ ...

随机推荐

  1. SpringCloud实战——(3)通过RESTful方式调用模块的方法

    在项目中创建一个类,编写如下内容: package com.f*iservice.controller; import org.springframework.web.bind.annotation. ...

  2. 第3节 storm高级应用:1、上次课程回顾,今日课程大纲,storm下载地址、运行过程等

    上次课程内容回顾: ConcurrentHashMap是线程安全的,为什么多线程的时候还不好使,为什么还要加static关键字 1.storm的基本介绍:strom是twitter公司开源提供给apa ...

  3. ROS学习笔记9-创建ros消息和服务

    该节内容主要来自于官方文档的两个小节:1.使用rosed来编辑2.创建ros消息的服务 先来看rosed: rosedrosed命令是rosbash的一部分,使用rosed可以直接编辑包中的一个文件, ...

  4. 联想电脑硬盘保护系统EDU8.0.1iso安装

    管理306机房4年了,15年我带领的第一批学生参加吉林省职业院校技能大赛的时候,领导把这个机房交给我负责.那个时候这个机房的机器是全校的顶配,30台DELL16G内存,2T硬盘,I7处理器,后面是6组 ...

  5. ExpandableListActivity

    main.xml: <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:an ...

  6. Http服务和JSP

    需要先安装tomocat8.0,并且使用的IDEA 一个web项目 新建项目 写代码 // 新建一个class @WebServlet("/test") public class ...

  7. 实战mysql存储程序与定时器

    home198979 实战mysql存储程序与定时器 博客分类: mysql 存储过程定时器eventprocedure实战  需求:一个庞大的日志表,现每天做定时统计一天的总数,放另一个表中,方便查 ...

  8. 树莓派开启VNC远程桌面

    分类: Raspberry Pi Linux2013-03-12 10:18 4288人阅读 评论(1) 收藏 举报   目录(?)[+]   1.安装VNC sudo apt-get install ...

  9. 攻防世界web新手练习区(2)

    弱认证:http://111.198.29.45:43769/ 打开是这个页面: 用户名输入1,密码输入2,试试看.会提示你用户名为admin.接下来用burp对密码进行爆破,发现弱口令0123456 ...

  10. 吴裕雄--天生自然JAVAIO操作学习笔记:RandomAccessFile

    import java.io.File ; import java.io.RandomAccessFile ; public class RandomAccessFileDemo01{ // 所有的异 ...