說到這兩個的差別我們想到的首先就應該是這兩個集合的性質有相對較大的區別,List就像是一個火車,ArrayList就像是自己家的小轎車,List對於裝載的事物有限制一開始必須在泛型定義好的事物,就是拉貨物的火車車廂中都幾乎是貨物, 而小汽車是自家的你想拉啥就拉啥,ArrayList就充當小轎車的角色 ...
說到這兩個的差別我們想到的首先就應該是這兩個集合的性質有相對較大的區別,List就像是一個火車,ArrayList就像是自己家的小轎車,List對於裝載的事物有限制一開始必須在泛型定義好的事物,就是拉貨物的火車車廂中都幾乎是貨物,
而小汽車是自家的你想拉啥就拉啥,ArrayList就充當小轎車的角色,但是其相對速度 對比火車較差,
在編程中,我們對於ArrayList儘量能不用就不用,由於他什麼東西都放,所以往往會導致,你無法用特定的類型進行接收,因為其取出時object類型需要強轉為你需要的類型
List和ArrayList的區別
1.list性能較高,ArrayList性能較低
2.list一次存儲中只能存儲泛型中的類型,ArrayList在一次存儲中任何類型的數據
3.List中獲取值取出的是泛型中發的類型,因為ArrayList對元素沒有限制,系統會將中獲取的值當object類型的數據,
如果想獲取到其中的內容需要進行
4. List在使用時候需要導入的using指令為using System.Collections.Generic;
ArrayList在使用的時候需要導入的using指令為using System.Collections;
5.List屬於泛型集合 ArrayList屬於非泛型集合
例子如下:
ArrayList:
ArrayList arr=new ArrayList();
//使用Add()方法添加元素,對元素類型沒有限制
arr.Add (12);
arr.Add ("1234");
arr.Add (12.7f);
//使用 /下標/ 來獲取指定位置的元素
Console.WriteLine ("arr[0]="+arr[0]);
//獲取當前數組的數量
int count=arr.Count;
//使用insert()方法向指定下標位置插入元素
arr.Insert(1,"老張");
Console.WriteLine ("arr[1]="+arr[1]);
//使用Remove()方法從數組中刪除指定元素
arr.Remove("老張");
Console.WriteLine ("arr[1]="+arr[1]);
//使用RemoveAt()方法,將指定下標位置的元素刪除
arr.RemoveAt(0);
Log (arr);
//判斷指定元素中是否存在當前數組中
bool b=arr.Contains("老王");
if (b)
{
Console.WriteLine ("老王在數組中");
}
else
{
Console.WriteLine ("老王不在數組中!!!!");
}
List:
List<string> list=new List<string>();
//使用Add()方法添加元素,只能添加字元串類型的元素
list.Add("123");
list.Add ("778");
//實用[下標]來獲取指定位置的元素
Console.WriteLine ("arr[0]="+arr[0]);
//獲取當前數組中的元素的數目
int count1=arr.Count;
//使用insert()方法向指定下標位置插入元素
arr.Insert(1,"老張");
Console.WriteLine ("arr[1]="+arr[1]);
//使用Remove()方法從數組中刪除指定元素
arr.Remove("老張");
//使用RemoveAr()方法刪除指定下標位置的元素
list.RemoveAt(0);
Console.WriteLine (list[0]);
//Contains()判斷指定元素是否存在在當前數組中
bool b1=list.Contains("老王");
if (b1)
{
Console.WriteLine ("老王在數組中!!!!");
}
else
{
Console.WriteLine ("老王不在數組中!!!!");
}
//進行集合的清空
list.Clear ();
Console.WriteLine (list.Count);