ArrayList的用法整理

ArrayList类是一个特殊的数组。它来自于System.Collections命名空间;通过添加和删除元素,就可以动态改变数组的长度。

一、优点

1)支持自动改变大小的功能
2)可以灵活的插入元素
3)可以灵活的删除元素

二、局限性

跟一般的数组比起来,速度上差些。

因为它是动态数组,初始化大小容量4,当数据存满时扩容是以当前数组容量大小的2倍扩容,之后再把数组元素一个一个的存入,数组在扩容时浪费一定的内存空间,和存储时间,而且,元素添加是一个装箱的过程,所以说,跟一般的数组比起来,速度上差些。

三、ArrayList初始化 ArrayList有三种初始化

1)不初始化起容量  ArrayList al = new ArrayList();//默认容量为0,当数组容量满时数组会自动一当前数组容量的2倍扩容

2)初始化容量ArrayList al = new ArrayList(3);//初始容量为3

3)以一个集合或数组初始化ArrayList al = new ArrayList(a);//a为集合或数组

四、添加元素

添加元素用其自带的方法Add(object value);

ArrayList al = new ArrayList();

al.Add("a");

al.Add(‘B‘);

al.Add(1);

al.Add(15);

al.Add(5);

输出为:a B 1 15 5

Insert(int index,object value)方法也可以用来将元素插入到索引处,不过其有一定的限制性,必须在数组长度以内插入数组

InsertRange(int index,ICollection c)方法同Insert()一样

五、删除元素

al.Remove(object obj);//移除数组中的obj元素

al.RemoveAt(int index);//移除索引为index的数字元素

al.RemoveRange(int indext,int count);//移除从索引index开始,移除count个元素

六、查找元素

查找元素有Contains()、IndexOf()、LastIndexOf()3中方法

al.Contains(object obj);//查找数组中是否有obj元素,存在返回true;

IndexOf()有两个重载方法 起用法如下:

1)、al.IndexOf(object obj);//从0开始查找obj元素,只第一个obj元素,并返回起在数组中的位置,如果不存在,返回-1;

2)、al.IndexOf(object obj,int startIndex); //从startIndex开始查找obj元素,只第一个obj元素,并返回起在数组中的位置,

3)、al.IndexOf(object obj,int startIndex,int count); 从startIndex开始想后查找count个元素,如果存在obj元素,则返回其在数组中的位置

al.LastIndexOf()方法与IndexOf()用法相同,它也有两个重载,其不同的是,LastIndexOf(obj)是查找要obj最后出现的位置

7、ArrayList的遍历

1、Count属性可以获取ArrayList数组的长度,可以用for遍历数组

for (int i = 0; i < al.Count;i++ )

{

Console.Write("{0}\t",al[i]);

}

2、用foreach遍历

foreach(object o in al)

{

Console.Write("{0}\t", o);

}

时间: 2024-11-06 06:51:19

ArrayList的用法整理的相关文章

Google Guava 库用法整理&lt;转&gt;

参考: http://codemunchies.com/2009/10/beautiful-code-with-google-collections-guava-and-static-imports-part-1/(2,3,4) http://blog.publicobject.com 更多用法参考http://ajoo.iteye.com/category/119082 附 guava中文api地址http://ifeve.com/google-guava/ 以前这么用: Java代码   M

linux学习:特殊符号,数学运算,图像与数组与部分终端命令用法整理

一:特殊符号用法整理 算术比较-eq 等于-ne 不等于-gt 大于-lt 小于-ge 大于或等于-le 小于或等于-a 逻辑与 and &&-o 逻辑或 or ||[ $var -eq 0 ]    #当$var等于0时,返回真[ $var -ne 0 ]    #当$var为非0时,返回真[ $var1 -ne 0 -a $var2 -gt 2 ][ $var1 -ne 0 -o $var2 -gt 2 ] 字符串比较[[ $str1 = $str2 ]]     #当str1等于st

C++ List的用法(整理)

来源:http://blog.csdn.net/lskyne/article/details/10418823 C++ List的用法(整理) 2013-08-27 23:04 42624人阅读 评论(2) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢. assign() 给list赋值 back() 返回最后一个元素 begin() 返回指向第一个元素的迭代

Spring JdbcTemplate用法整理

Spring JdbcTemplate用法整理: xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www

MySQL中使用SHOW PROFILE命令分析性能的用法整理(配合explain效果更好,可以作为优化周期性检查)

这篇文章主要介绍了MySQL中使用show profile命令分析性能的用法整理,show profiles是数据库性能优化的常用命令,需要的朋友可以参考下 show profile是由Jeremy Cole捐献给MySQL社区版本的.默认的是关闭的,但是会话级别可以开启这个功能.开启它可以让MySQL收集在执行语句的时候所使用的资源.为了统计报表,把profiling设为1 mysql> SET profiling = 1; 之后在运行一个查询 mysql> SELECT COUNT(DIS

SQL 系统存储过程用法整理

---------------------------------------------------------------------------------- -- Author : htl258(Tony) -- Date   : 2010-07-06 23:13:19 -- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) --          Jul  9 2008 14:43:34 --    

Android spannableStringBuilder用法整理

Android spannableStringBuilder用法整理 分类: Android开发2013-11-29 10:58 5009人阅读 评论(0) 收藏 举报 AndroidspannableStringBuild spannableStringBuilder 用法详解: SpannableString ss = new SpannableString("红色打电话斜体删除线绿色下划线图片:.");           //用颜色标记文本         ss.setSpan

[ASP.NET]JQuery AJAX用法整理

摘要:[ASP.NET]JQuery AJAX用法整理 我们再用Jquery CallBack Server时有许多参数要如何使用 $.ajax({ type: "POST", url: "MyWebService.asmx/SayHelloJson", data: "{ firstName: 'Aidy', lastName: 'F' }", contentType: "application/json; charset=utf-8&

ArrayList用法整理

System.Collections.ArrayList类是一个特殊的数组.通过添加和删除元素,就可以动态改变数组的长度. 一.优点 1.支持自动改变大小的功能 2.可以灵活的插入元素 3.可以灵活的删除元素 二.局限性 跟一般的数组比起来,速度上差些 三.添加元素 1.public virtual int Add(objectvalue); 将对象添加到ArrayList的结尾处 ArrayList aList = new ArrayList(); aList.Add("a"); a