當前位置:編程學習大全網 - 編程語言 - list與arraylist 區別

list與arraylist 區別

List和ArrayList的區別在於:

1、在編程語言中ArrayList類是.Net Framework提供的用於數據存儲和檢索的專用類。List 類可以簡單視之為雙向連結串行,以線性列的方式管理物件集合。List類是ArrayList類的泛型等效類。

2、ArrayList繼承了IList接口,所以它可以很方便的進行數據的添加,插入和移除。List的大部分用法都與ArrayList相似,List類也繼承了IList接口。

3、在ArrayList中可以插入不同類型的數據。ArrayList會把所有插入其中的數據都當作為object類型來處理,這其中存在裝箱與拆箱的操作,會對系統造成性能上的損耗。而List需要聲明其數據的對象類型。聲明後插入其他類型數據,IDE就會報錯,且不能通過編譯。

4、在使用ArrayList中的數據來處理問題的時候,很可能會報類型不匹配的錯誤,即ArrayList不是類型安全的。而List已經聲明過其數據的對象類型,是類型安全的,避免了前面講的類型安全問題與裝箱拆箱的性能問題。

5、ListArray就可以被構造。而List不能被構造,但可以為List創建壹個引用。

擴展資料:

壹、List泛型

通過允許指定泛型類或方法操作的特定類型,泛型功能將類型安全的任務從程序員轉移給了編譯器。不需要編寫代碼來檢測數據類型是否正確,因為會在編譯時強制使用正確的數據類型。減少了類型強制轉換的需要和運行時錯誤的可能性。泛型提供了類型安全但沒有增加多個實現的開銷。

二、裝箱與拆箱的概念:

1、裝箱:就是將值類型的數據打包到引用類型的實例中 比如將int類型的值123賦給object對象o

int i=123; object o=(object)i;

2、拆箱:就是從引用數據中提取值類型 比如將object對象o的值賦給int類型的變量i

object o=123; int i=(int)o;

3、裝箱與拆箱的過程是很損耗性能的。

參考資料:

拆箱——百度百科

  • 上一篇:百度空間模板制作背景音樂那壹塊
  • 下一篇:cad系統中表示物體幾何信息的建模方式
  • copyright 2024編程學習大全網