1:List你們都知道初始化的時候須要定義其類型.面試
例如安全
List<int> listTest = new List<int>();
而ArrayList,例如:
ArrayList arrayTest = new ArrayList();spa
2:爲何定義會有如此大的不一樣納?開發
ArrayList規定其類型默認就是object,是否是以爲好強大,好方便,
可是ArrayList幾乎是沒有人使用的吧,由於List你們一直都用
的最多的。it
3:爲何ArrayList這麼強大,而實際開發中幾乎沒人用吶?效率
注:裝箱,拆箱是很是消耗效率的。object
而通常假如你要是使用
arrayTest.Add(1),List
這其中會有一次裝箱的操做,將值類型的1轉爲object(int型轉爲object型數據,即爲裝箱),數據
而已經定義好類型的List是不會多這麼一個步驟。時間
若是有大量的數據,ArrayList定義的list每個數據都須要進行這麼一個步驟,
消耗的數據是很大的,具體,能夠本身測測。相對而言,仍是用List就夠用了。
這下知道爲何ArrayList爲何用的那麼少了吧。
該問題的趣事:前些日子,一場面試,第一次寫面試題啊,裏面就有,
「ArrayList和List區別?」,這個是在Unity面試題很常見的問題,我給出了
四個字,「效率不一樣」,哈哈,當時的我,其實真的不知道具體區別是啥,
由於ArrayList壓根沒使用過。其實,咱們實際開發中,這種問題不少,
會用,可是根本不知道爲何,有時間,必定要去看看爲何的。