数组一旦给定大小就是固定的,只能放同类型的不能再改,还有一种高级的可扩充的,就是arrayList类,被称作动态数组或者集合。

使用步骤:

1. 引用命名空间system.collections;

2. 创建示例;

3. 引用对应的属性或方法

代码示例:

ArrayList list = new ArrayList(5);
list.Add(123);
list.Add('a');
list.Add("张三");
Console.WriteLine(list.Count);

//将数组添加到arraylist中
int[] mylist = { 1, 2, 3, 4, 5 };
list.Add("张三");
list.AddRange(mylist);
Console.WriteLine(list.Count);

//遍历集合,使用object
foreach (object outlement in list)
{
Console.WriteLine(outlement);
}
//元素的查找,有三种方式
//第一种方式 IndexOf(要查找的元素),返回一个索引整型值,索引从0开始,如果找不到,返回-1
Console.WriteLine(list.IndexOf("张三"));
//第二种方式 LastIndexOf(要查找的最后一个元素),返回一个索引整型值,索引从0开始,如果找不到,返回-1
Console.WriteLine(list.LastIndexOf("张三"));
//第三种方式 BinarySearch
Console.WriteLine(list.BinarySearch("张三"));
//第一种删除的实例的方法 Remove(对象)
//list.Remove(123);
//第二种删除的方法 RemoveAt(索引)
//list.RemoveAt(1);
//第三种删除的方法 RemoveRange(起始索引,删除个数)
// list.RemoveRange(1,2);
//第四种删除的方法,clear()
//list.Clear();

Console.ReadKey();

ArrayList的详解的更多相关文章

  1. ArrayList用法详解

    1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...

  2. ArrayList用法详解与源码分析

    说明 此文章分两部分,1.ArrayList用法.2.源码分析.先用法后分析是为了以后忘了查阅起来方便-- ArrayList 基本用法 1.创建ArrayList对象 //创建默认容量的数组列表(默 ...

  3. Java基础(44):ArrayList使用详解

    1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:    a.动态的增加和减少元素    b.实现了IColle ...

  4. Java中ArrayList类详解

    1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...

  5. ArrayList集合详解

    ArrayList 实现了List的接口,是长度可变的数组,空间是连续的 api默认提供了很多操作ArrayLis的方法,这些方法可以去api里面查询使用 一.这么多方法怎么学?1.熟练使用常见的方法 ...

  6. ArrayList知识详解

    简介 ArrayList是Java集合常用的数据结构之一,继承自AbstractList,实现了List,RandomAccess.Cloneable.Serializable等一系列接口,支持快速访 ...

  7. ArrayList, LinkedList, Vector - dudu:史上最详解

    ArrayList, LinkedList, Vector - dudu:史上最详解 我们来比较一下ArrayList, LinkedLIst和Vector它们之间的区别.BZ的JDK版本是1.7.0 ...

  8. 【集合框架】JDK1.8源码分析之ArrayList详解(一)

    [集合框架]JDK1.8源码分析之ArrayList详解(一) 一. 从ArrayList字表面推测 ArrayList类的命名是由Array和List单词组合而成,Array的中文意思是数组,Lis ...

  9. java集合类之ArrayList详解

    一.ArrayList源码分析 1.全局变量 (1)默认容量(主要是通过无参构造函数创建ArrayList时第一次add执行扩容操作时指定的elementData的数组容量为10) private s ...

随机推荐

  1. java321 面向对象编程

  2. Linux内核线程创建

    本文旨在简单介绍一下Linux内核线程: 先举个例子: 不插U盘,在Linux命令行中输入:ps -el:然后插上U盘,再次输入:ps -el 会发现多出了下面一行(当然还会有其他的,比如scsi相关 ...

  3. m3u8文件下载合并的一种方法

    # -*- coding: utf-8 -*- """ Created on Wed Mar 14 15:09:14 2018 @author: Y "&quo ...

  4. PHP 图片缩放类

    <?php /** * 图片压缩类:通过缩放来压缩. * 如果要保持源图比例,把参数$percent保持为1即可. * 即使原比例压缩,也可大幅度缩小.数码相机4M图片.也可以缩为700KB左右 ...

  5. Excel vba map/dictionary

    今天在调整一生成java代码的工具时,要用到在不同语言间互转数据类型的逻辑,原来的代码中根据excel记录的行号来计算,再到另外一个collection中获取,个人想着这也太土鳖了,于是搜了下,在vb ...

  6. Linux 基础知识选择/填空

    选择题 1. 返回调用进程的进程标识号的系统函数是________. A. getpid B. getpgrp C. getppid D. setpid ##A 2. 关于文件系统的安装和卸载,下面描 ...

  7. 05: greenlet:轻量级的并发编程

    网络编程其他篇 1.1 greenlet简介 1.greenlet原理 & 使用 1. greenle间切换 1)一个 “greenlet” 是一个很小的独立微线程,可以把它想像成一个堆栈帧, ...

  8. linux系统日常维护常用命令

    环境: OS:Red Hat Linux As 5   1.find 11.查找当前目录以及子目录下包含ORA字符的文件 find . -type f|xargs  grep "ORA&qu ...

  9. Navicat Premium 12.0.18安装与激活(转)

    转载:https://www.jianshu.com/p/42a33b0dda9c 一.Navicat Premium 12下载 Navicat Premium 12是一套数据库开发管理工具,支持连接 ...

  10. Node.js实践

    在 iOS 模拟器中调试 Web 页面 safari调试iOS App web 1, npm init 2, npm install ejs --save 简单Node 指令 $ node -v  / ...