C#数组中ArrayList相关方法的学习

一. ArrayList相关方法的学习

利用enumerator来访问数组:

ArrayList list = new ArrayList(1);

for (int i = 0; i < 10; i++)

list.Add(i);

IEnumerator etr = list.GetEnumerator();//枚举

while (etr.MoveNext())

Console.Write(etr.Current + " ");

运行结果:

对了,要想在C#中利用ArrayList必须在系统命名空间中加入一个引用,否则会出现错误的。using System.Collections;

下面看一些动态数组的常用方法:

ArrayList list = new ArrayList(5);

//构造一个动态数组

// list.Clear();//清楚数组中所有的元素

Console.WriteLine();

Console.WriteLine("there are {0} elements in the list", list.Count);

ArrayList shuzu = new ArrayList(5);

shuzu.Add("仙剑一");

shuzu.Add("亮剑");

shuzu.Add("bianceng.");

shuzu.Add("国家宝藏");

shuzu.Add("陆小凤");

for (int x = 0; x <= shuzu.Count - 1; x++)

Console.WriteLine(shuzu[x]);

Console.WriteLine("now reverse it\n");

shuzu.Reverse();

Console.WriteLine("after reverser\n");

Console.WriteLine();

for (int x = 0; x <= shuzu.Count - 1; x++)

Console.WriteLine(shuzu[x]);

运行结果:

现在比较下array 和arraylist:Array 提供 ArrayList 所不具有的某些灵活性。例如:
可以设置 Array 的下限,但 ArrayList 的下限始终为零。
Array 可以具有多个维度,而 ArrayList 始终只是一维的;特定类型(不包括 Object)的 Array 的性能比 ArrayList 好,这是因为 ArrayList 的元素属于 Object 类型,所以在存储或检索值类型时通常发生装箱和取消装箱。

Array 位于 System 命名空间中;ArrayList 位于 System. Collections 命名空间中

至于ArrayList从Object类继承下来的父类方法我在这里就不多介绍了,

那都是些基本的方法。下面看些ArrayList使用的方法。


Console.WriteLine();

for (int x = 0; x <= shuzu.Count - 1; x++)

Console.WriteLine(shuzu[x]);

Console.WriteLine("there are {0} elements in the list", shuzu.Count);

Console.WriteLine("now add a new elements ");

shuzu.Add("new element");//增加一个元素

Console.WriteLine("there are {0} elements in the list", shuzu.Count);

shuzu.Remove("亮剑");//删除特点元素

Console.WriteLine("there are {0} elements in the list", shuzu.Count);

shuzu.RemoveAt(2);//删除指定位置的元素

Console.WriteLine("there are {0} elements in the list", shuzu.Count);

shuzu.Insert(1, "系统级");//在数组的制定位置插入一个元素

Console.WriteLine("there are {0} elements in the list", shuzu.Count);

int countElement = shuzu.Count;

Console.WriteLine(shuzu.GetType());//输出数组的类型

int index = shuzu.IndexOf("系统级");//获取某一元素的索引号

Console.WriteLine();

ArrayList anothe = new ArrayList(shuzu);//创建一个数组

for (int b = 0; b < anothe.Count; b++)

Console.WriteLine(anothe[b]);

Console.WriteLine(shuzu.Contains("国家宝藏"));//判定数组中是否存在某一元素 

Console.WriteLine(shuzu.LastIndexOf("国家宝藏"));


list.Add("B");

list.Add("G");

list.Add("J");

list.Add("S");

list.Add("M");

string[] array1 = new string[list.Count];

//创建一个i和shuzu元素个数大小一样大的字符串数组

list.CopyTo(array1, 0);

//将shuzu中从第一个元素开始以后的元素复制到array

object[] array2 = list.ToArray();//利用这个方法创建数组

Console.WriteLine("Array 1:");

foreach (string s in array2)

{

Console.Write("{0}", s);

}

Console.WriteLine();

foreach (string s in array1)

{

Console.Write("{0}", s);

}

Console.WriteLine();

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

Console.Write(list[i]);


以上程序运行的结果是:


时间: 2024-09-29 07:29:29

C#数组中ArrayList相关方法的学习的相关文章

C#中数组、ArrayList和List三者的区别详解_C#教程

在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢. 数组 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. //数组 string[] s=new string[2]; //赋值 s[0]="a"; s[1]="b"; //修改 s[1]="a1";  但是数组存在一些不足的地方.在数组的两个数据间插入数据是很麻烦的,而且在声明数组的时候必须指定数组的长

浅析C#中数组,ArrayList与List对象的区别

我们先来了解一下数组,因为数组在C#中是最早出现的.数组数组有很多的优点,比如说数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单,比如: 复制代码 代码如下: string[] s=new string[3]; //赋值 s[0]="a"; s[1]="b"; s[2]="c"; //修改 s[1]="b1"; 但是,数组也存在一些不足的地方.比如在数组的两个数据间插入数据也是很麻烦的.还有我们

C#中数组、ArrayList与List对象的区别

在C#中,当我们想要存储一组对象的时候,就会想到用数组,ArrayList,List这三个对象了.那么这三者到底有什么样的区别呢? 我们先来了解一下数组,因为数组在C#中是最早出现的. 数组 数组有很多的优点,比如说数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单,比如: string[] s=new string[3]; //赋值 s[0]="a"; s[1]="b"; s[2]="c"; //修改 s[1]=&

C#中数组、ArrayList和List三者的区别详解及实例_C#教程

在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢. 数组 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. //数组 string[] s=new string[2]; //赋值 s[0]="a"; s[1]="b"; //修改 s[1]="a1"; 但是数组存在一些不足的地方.在数组的两个数据间插入数据是很麻烦的,而且在声明数组的时候必须指定数组的长度

JavaScript学习笔记之取数组中最大值和最小值_javascript技巧

推荐阅读:JavaScript学习笔记之数组的增.删.改.查 JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组随机排序 在实际业务中有的时候要取出数组中的最大值或最小值.但在数组中并没有提供arr.max()和arr.min()这样的方法.那么是不是可以通过别的方式实现类似这样的方法呢?那么今天我们就来整理取出数组中最大值和最小值的一些方法. 取数组中最大值 可以先把思路理一下: 将数组中第一个元素赋值给一个变量,并且把这个变量作为最大值: 开始遍历数组,从第二个元

Android中ArrayList和数组相互转换_Android

List-–>数组 在大家开发中应该经常碰到List与数组类型之间的相互转换,举一个简单的例子: package test.test1; import java.util.ArrayList; import java.util.List; public class Test { /** * @param args */ public static void main(String[] args) { List list=new ArrayList(); list.add("王利虎"

Android中ArrayList和数组相互转换

List-–>数组 在大家开发中应该经常碰到List与数组类型之间的相互转换,举一个简单的例子: package test.test1; import java.util.ArrayList; import java.util.List; public class Test { /** * @param args */ public static void main(String[] args) { List list=new ArrayList(); list.add("王利虎"

求助) Java中如何获取数组中的有效数据长度

问题描述 Java中如何获取数组中的有效数据长度?请各位大虾指点一二,谢谢!如:bytearr[]=newbyte[100];现在我向arr中输入任意数(-128~127),请问如何知道我已经输入多少个了呢? 解决方案 解决方案二:for循环呗遍历一次就行.解决方案三:使用一个变量如count记录,输入一个就把count加1.解决方案四:遍历吧解决方案五:要是那样存数,你不如用Vector或其它的,那个容易找,解决方案六:遍历是可以,问题是该用什么做基准值呢?看样子只能用动态数组了解决方案七:用

ASP中循环语句的学习总结(适合初学者)

初学|循环|语句 循环语句的作用就是重复执行程序代码,循环可分为三类:一类在条件变为"假"之前重复执行语句,一类在条件变为"真"之前重复执行语句,另一类按照指定的次数重复执行语句.在 VBScript 中可使用下列循环语句: Do...Loop: 当(或直到)条件为"真"时循环. While...Wend: 当条件为"真"时循环. For...Next: 指定循环次数,使用计数器重复运行语句. For Each...Next: