zoukankan
html css js c++ java
ArrayList用法
System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。
一.优点
1
。支持自动改变大小的功能
2
。可以灵活的插入元素
3
。可以灵活的删除元素
二.局限性
跟一般的数组比起来,速度上差些
三.添加元素
1
.publicvirtualintAdd(objectvalue);
将对象添加到ArrayList的结尾处
ArrayListaList
=
newArrayList();
aList.Add(
"
a
"
);
aList.Add(
"
b
"
);
aList.Add(
"
c
"
);
aList.Add(
"
d
"
);
aList.Add(
"
e
"
);
内容为abcde
2
.publicvirtualvoidInsert(intindex,objectvalue);
将元素插入ArrayList的指定索引处
ArrayListaList
=
newArrayList();
aList.Add(
"
a
"
);
aList.Add(
"
b
"
);
aList.Add(
"
c
"
);
aList.Add(
"
d
"
);
aList.Add(
"
e
"
);
aList.Insert(
0
,
"
aa
"
);
结果为aaabcde
3
.publicvirtualvoidInsertRange(intindex,ICollectionc);
将集合中的某个元素插入ArrayList的指定索引处
ArrayListaList
=
newArrayList();
aList.Add(
"
a
"
);
aList.Add(
"
b
"
);
aList.Add(
"
c
"
);
aList.Add(
"
d
"
);
aList.Add(
"
e
"
);
ArrayListlist2
=
newArrayList();
list2.Add(
"
tt
"
);
list2.Add(
"
ttt
"
);
aList.InsertRange(
2
,list2);
结果为abtttttcde
四.删除
a)publicvirtualvoidRemove(objectobj);
从ArrayList中移除特定对象的第一个匹配项,注意是第一个
ArrayListaList
=
newArrayList();
aList.Add(
"
a
"
);
aList.Add(
"
b
"
);
aList.Add(
"
c
"
);
aList.Add(
"
d
"
);
aList.Add(
"
e
"
);
aList.Remove(
"
a
"
);
结果为bcde
2
.publicvirtualvoidRemoveAt(intindex);
移除ArrayList的指定索引处的元素
aList.Add(
"
a
"
);
aList.Add(
"
b
"
);
aList.Add(
"
c
"
);
aList.Add(
"
d
"
);
aList.Add(
"
e
"
);
aList.RemoveAt(
0
);
结果为bcde
3
.publicvirtualvoidRemoveRange(intindex,intcount);
从ArrayList中移除一定范围的元素。Index表示索引,count表示从索引处开始的数目
aList.Add(
"
a
"
);
aList.Add(
"
b
"
);
aList.Add(
"
c
"
);
aList.Add(
"
d
"
);
aList.Add(
"
e
"
);
aList.RemoveRange(
1
,
3
);
结果为ae
4
.publicvirtualvoidClear();
从ArrayList中移除所有元素。
五.排序
a)publicvirtualvoidSort();
对ArrayList或它的一部分中的元素进行排序。
ArrayListaList
=
newArrayList();
aList.Add(
"
e
"
);
aList.Add(
"
a
"
);
aList.Add(
"
b
"
);
aList.Add(
"
c
"
);
aList.Add(
"
d
"
);
DropDownList1.DataSource
=
aList;
//
DropDownListDropDownList1;
DropDownList1.DataBind();
结果为eabcd
ArrayListaList
=
newArrayList();
aList.Add(
"
a
"
);
aList.Add(
"
b
"
);
aList.Add(
"
c
"
);
aList.Add(
"
d
"
);
aList.Add(
"
e
"
);
aList.Sort();
//
排序
DropDownList1.DataSource
=
aList;
//
DropDownListDropDownList1;
DropDownList1.DataBind();
结果为abcde
b)publicvirtualvoidReverse();
将ArrayList或它的一部分中元素的顺序反转。
ArrayListaList
=
newArrayList();
aList.Add(
"
a
"
);
aList.Add(
"
b
"
);
aList.Add(
"
c
"
);
aList.Add(
"
d
"
);
aList.Add(
"
e
"
);
aList.Reverse();
//
反转
DropDownList1.DataSource
=
aList;
//
DropDownListDropDownList1;
DropDownList1.DataBind();
结果为edcba
六.查找
a)publicvirtualintIndexOf(
object
);
b)publicvirtualintIndexOf(
object
,
int
);
c)publicvirtualintIndexOf(
object
,
int
,
int
);
返回ArrayList或它的一部分中某个值的第一个匹配项的从零开始的索引。没找到返回
-
1
。
ArrayListaList
=
newArrayList();
aList.Add(
"
a
"
);
aList.Add(
"
b
"
);
aList.Add(
"
c
"
);
aList.Add(
"
d
"
);
aList.Add(
"
e
"
);
intnIndex
=
aList.IndexOf(“a”);
//
1
nIndex
=
aList.IndexOf(“p”);
//
没找到,-1
d)publicvirtualintLastIndexOf(
object
);
e)publicvirtualintLastIndexOf(
object
,
int
);
f)publicvirtualintLastIndexOf(
object
,
int
,
int
);
返回ArrayList或它的一部分中某个值的最后一个匹配项的从零开始的索引。
ArrayListaList
=
newArrayList();
aList.Add(
"
a
"
);
aList.Add(
"
b
"
);
aList.Add(
"
a
"
);
//
同0
aList.Add(
"
d
"
);
aList.Add(
"
e
"
);
intnIndex
=
aList.LastIndexOf(
"
a
"
);
//
值为2而不是0
g)publicvirtualboolContains(objectitem);
确定某个元素是否在ArrayList中。包含返回true,否则返回false
七.其他
1
.publicvirtualintCapacity
{
get
;
set
;}
获取或设置ArrayList可包含的元素数。
2
.publicvirtualintCount
{
get
;}
获取ArrayList中实际包含的元素数。
Capacity是ArrayList可以存储的元素数。Count是ArrayList中实际包含的元素数。Capacity总是大于或等于Count。如果在添加元素时,Count超过Capacity,则该列表的容量会通过自动重新分配内部数组加倍。
如果Capacity的值显式设置,则内部数组也需要重新分配以容纳指定的容量。如果Capacity被显式设置为0,则公共语言运行库将其设置为默认容量。默认容量为16。
在调用Clear后,Count为0,而此时Capacity切是默认容量16,而不是0
3
.publicvirtualvoidTrimToSize();
将容量设置为ArrayList中元素的实际数量。
如果不向列表中添加新元素,则此方法可用于最小化列表的内存系统开销。
若要完全清除列表中的所有元素,请在调用TrimToSize之前调用Clear方法。截去空ArrayList会将ArrayList的容量设置为默认容量,而不是零。
ArrayListaList
=
newArrayList();
aList.Add(
"
a
"
);
aList.Add(
"
b
"
);
aList.Add(
"
c
"
);
aList.Add(
"
d
"
);
aList.Add(
"
e
"
);
//
Count=5,Capacity=16,
aList.TrimToSize();
//
Count=Capacity=5;
查看全文
相关阅读:
MQ 2035(MQRC_NOT_AUTHORIZED)
C# 构造函数中调用虚方法的问题
Oracle bug 使用max或min函数into到一个char类型报字符缓冲区太小的错误
windows2003 64位 iis6.0 运行32位web应用程序
.NET安装和配置Oracle数据访问组件(ODAC)
WMS函数组:10.创建采购订单
报表:BOM展开程序
WMS函数组:9.交货单过帐3(BDC)
WMS函数组: 7.交货单行项目除
WMS函数组:1.检查ZPB2是否存在
原文地址:https://www.cnblogs.com/kokoliu/p/524410.html
最新文章
203. Remove Linked List Elements
挑战练习5.5 堵住漏洞
234. Palindrome Linked List
挑战练习3.8 评分
挑战练习3.7 禁止一题多答
挑战练习2.9 从按钮到图标按钮
挑战练习2.8 添加后退按钮
挑战练习2.7 为TextView添加监听器
挑战练习1.11 定制toast消息
PE解析到区段表
热门文章
文件操作
互斥体解决同步问题
防多开
事件对象的使用
信号量解决同步问题
临界区同步问题
线程同步问题
获取线程上下文
伪句柄实验
AnyChartStock去除水印方法
Copyright © 2011-2022 走看看