ArrayList提供了三种方法将指定元素从集合中移除,这三种方法是Remove、RemoveAt和RemoveRange方法。
—Remove方法接受一个object类型值的参数,用于移除指定元素值的第一个匹配集合元素。 —RemoveAt方法接受一个int类型的参数,用于删除指定索引的集合元素。 —RemoveRange方法从集合中移除一定范围的元素。
这三个方法的声明如下所示。
public void Remove(object obj); //从ArrayList实例中删除与obj值匹配的第一个元素
public void RemoveAt(int index); //删除指定索引位置index的元素
public void RemoveRange(int index, int count); //从指定索引位置index开始,移除count个元素
public void Clear(); //可以移除所有元素
下面示例演示了使用Remove方法:
using System; using System.Collections; class Program { static void Main(string[]args) { ArrayList al = new ArrayList(20); al.AddRange(new string[8] { "元素一", "元素二", "元素三", "元素四", "元素五", "元素六", "元素七", "元素八" } ); //调用Remove方法删除配置元素 al.Remove("元素二"); //调用RemoveAt方法删除指定索引位置元素 al.RemoveAt(2); //调用RemoveRange方法删除指定范围的元素 al.RemoveRange(3, 2); foreach (string s in al) { Console.WriteLine(s); } Console.ReadLine(); } }
结果为: 元素一 元素三 元素五 元素八
这里要注意:当删除一个元素后,删除位置后的所有元素都会自动递增一个位置,即索引值减1。
我们再看一个例子:
ArrayList lst=new ArrayList(); lst.Add("香蕉"); lst.Add(“苹果”); lst.Add(“芒果”); lst.Remove(“苹果”);//删除元素苹果 lst.RemoveAt(1);//删除元素芒果 lst.Clear();//删除所有元素
这个例子赋值后,香蕉的索引值为0,苹果的值为索引值为1,删除了苹果后,芒果的索引值变为1,所以删除元素芒果时参数为1。
|
请发表评论