注:學(xué)習(xí)筆記,用于翻看查找
一相艇、 數(shù)組
優(yōu)點(diǎn):在內(nèi)存中時(shí)連續(xù)的颖杏,速度較快,操作簡(jiǎn)單坛芽。
缺點(diǎn):定義數(shù)組時(shí)要定義其長(zhǎng)度留储,不是很靈活翼抠,過(guò)長(zhǎng)過(guò)短都會(huì)造成問(wèn)題。不方便進(jìn)行數(shù)據(jù)的添加获讳、插入和移除阴颖。
例如:int [] i=new int[2];
? ? ? ? ? ?i[0]=111;
? ? ? ? ? ?i[1]=123;//賦值
? ? ? ? ? ?i[1]=1234;//修改
二、集合ArrayList
優(yōu)點(diǎn):命名空間System.Collections下的一部分丐膝。大小是動(dòng)態(tài)擴(kuò)充與收縮的量愧。在聲明ArrayList對(duì)象時(shí)不需要指定它的長(zhǎng)度。ArrayList繼承了IList接口帅矗,可以很方便的進(jìn)行數(shù)據(jù)的添加偎肃、插入和移除.
缺點(diǎn):當(dāng)向集合插入不同類(lèi)型的數(shù)據(jù)后(ArrayList將數(shù)據(jù)當(dāng)作object存儲(chǔ)),在進(jìn)行數(shù)據(jù)處理時(shí)容易出現(xiàn)類(lèi)型不匹配的錯(cuò)誤浑此,使用時(shí)需要進(jìn)行類(lèi)型轉(zhuǎn)換處理累颂,存在裝箱與拆箱操作,造成性能大量損耗的現(xiàn)象凛俱。
例如:ArrayList list = new ArrayList();
? ? ? ? ?list.Add(“aa”);
list.Add(11);
list[1] = 123;//修改
? ? ? ? ?移除list.Remove(123);
? ? ? ? ?list.RemoveAt(0);
三紊馏、泛型List
優(yōu)點(diǎn):與集合ArrayList類(lèi)似且繼承IList接口,在聲明List集合時(shí)也要聲明集合內(nèi)部數(shù)據(jù)的對(duì)象類(lèi)型蒲犬,避免了裝箱和拆箱的問(wèn)題朱监。
例如:List<int> list=new List<int>();
? ? ? ? ? list.Add(123);
? ? ? ? ? list[0]=111;//修改
? ? ? ? ? list.RemoveAt(0);//移除
如果list.Add(“abc”);//編譯器就會(huì)報(bào)錯(cuò),避免了類(lèi)型安全問(wèn)題與裝箱拆箱的性能問(wèn)題暖哨。