集合,ArrayList的运用、 Add()、AddRange()、Clear()、 IndexOf()等

一、ArrayList类

ArrayList类位于System.Collections命名空间下,它可以动态地添加和删除元素。可以将ArrayList类看作扩充了功能的数组,但是它并不等同于数组。

与数组相比,ArrayList类提供以下功能。

1.1 数组的容量是固定的,而ArrayList的容量可以根据需要自动扩充。

1.2 ArrayList提供添加,删除和插入某一范围元素的方法,但在数组中,只能一次获取或设置一个元素的值。

1.3 ArrayList提供将只读和固定大小包装返回到集合的方法,而数组不提供。

1.4 ArrayList只能是一维形式,而数组可以多维的。

 

声明ArrayList对象:

ArrayList arrayList = new ArrayList();

 

ArrayList常用方法:

public virtual int Add(object value);

在ArrayList的末尾添加一个对象

public virtual void AddRange(ICollection c);

在ArrayList的末尾添加ICollection的元素

 public virtual void Clear();

ArrayList中移除所有元素

 public virtual bool Contains(Object item);

判断某个元素是否在ArrayList中

 public virtual ArrayList GetRange(int index,int count);

返回一个ArrayList,表示源ArrayList中元素的子集

 public virtual int IndexOf(object);

返回某值在iArrayList中第一次出现的索引(下标),索引从0开始

 public virtual void Index(int index,object value);

在ArrayList的指定索引处,插入一个元素

 public virtual void insertRange(int index, ICollection c);

在ArrayList的指定索引处,插入某个集合的元素

 public virtual void Remove(object obj);

从ArrayList中移除第一次出现的指定对象

 public virtual RemoveAt(int index);

移除ArrayList的指定索引处的元素

 public virtual void RemoveRange(int index, int count);

从ArrayList中移除某个范围的元素

 public virtual void Reverse();

逆转ArrayList中元素的顺序

 public virtual void SetRange(int index,ICollection c);

复制某个集合的元素到ArrayList中某个范围的元素上

 public virtual void Sort();

对ArrayList中的元素进行排序

public virtual void TrimToSize();

设置容量为ArrayList中元素的实际个数

 

代码插入数据  :

 显示数据:

 Console.WriteLine(al.Add("ss")); //这句是返回下标

返回下标后再显示里面所有数据

 


 如何显示现数组长度:

 

 这时候的数组长度为4;


 判断当前元素是否在集合中:

or

判断当前元素在集合中的位置(下标)

 这两个是不同的:

al.Contains('c');如果集合中存在‘c’,就会返回true,不存在将会返回false

al.IndexOf(11);如果该集合存在11将会返回它的下标,不存在该元素将会返回-1。

这里不存在11,所以返回-1

 


 如何在指定位置插入数据:

 al.Insert(0, 12);

 //在下标为0的位置插入‘12’这条数据

 

 

 执行代码:

 

 


如何取单个值: 

 根据下标取值

 输出下标为0的值:

 

 


 如何删除一个单个的值:

 for

 

 但是用for有个弊端,只删除了值,集合长度没变

 


用remove删除单个

remove

 

用remove删除会改变集合数量

 执行:


如何清空集合中全部数据:

clear

执行:

 


 把一个集合合并到另一个集合中:(是从最后一个位置(最大下标)开始

 先实例化两个数组,分别赋上值

再调用AddRange()方法把集合b合并到集合a里去

 

数据都合并到a集合里去了 

执行:

 当然,把集合a合并到b集合里也是可以的,是从最后一个位置(最大下标)开始

所以输出结果应该是:

 

 


插入:

  a.InsertRange(0, b);从a集合里的0下标位开始插入b集合里的数据

执行:

 

 


 也可以从其他位置插入

 a.InsertRange(1, b);从a集合里的1下标位开始插入b集合里的数据


好了,今天的分享就到这了

么么哒~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值