數(shù)組列表和數(shù)組有什么區(qū)別杉女?
- 數(shù)組即
Array
類瞻讽,數(shù)組列表即ArrayList
類,兩者非常相似熏挎,不過(guò)Array
類在System
命名空間下速勇,ArrayList
類在System.Collections
命名空間下。 - 數(shù)組在初始化時(shí)需要指定容量坎拐,并且指定后無(wú)法變更烦磁。而數(shù)組列表可以動(dòng)態(tài)地改變?nèi)萘浚愃朴?code>StringBuilder類哼勇。
棧集合和隊(duì)列集合有什么區(qū)別都伪?
解答
- 棧集合和隊(duì)列集合都是
System.Collections
命名空間下的集合類型。 - 棧集合類似于僅包含一個(gè)入口的容器积担,最先放進(jìn)去的內(nèi)容最后被取出陨晶,而最后放進(jìn)去的內(nèi)容最先被取出。
- 隊(duì)列集合類似于兩端分別為入口和出口的容器磅轻,最先進(jìn)去的內(nèi)容最先被取出珍逸,最后進(jìn)去的內(nèi)容最后被取出逐虚。
分析
- 大多數(shù)集合類型位于
System.Collections
命名空間下聋溜,除了ArrayList
和Stack
類,Queue
類也比較常用叭爱。 -
Slack
類也被稱為棧集合類型撮躁,Queue
類也被稱為棧隊(duì)列集合類型。 -
顧名思義买雾,棧集合類型的子項(xiàng)保存方式為先入后出的方式把曼,而隊(duì)列集合類型則相反,子項(xiàng)保存為先入先出方式漓穿。
棧集合和隊(duì)列集合的區(qū)別
泛型有什么優(yōu)勢(shì)嗤军?
- 泛型可以在程序代碼的類型定義或方法定義中以占位符的形式表示數(shù)據(jù)類型,而該數(shù)據(jù)類型直到使用時(shí)才決定晃危。
- 所以泛型中的類型參數(shù)允許在開(kāi)發(fā)者不確定類型的情況下提供類型安全代碼叙赚,使程序編寫(xiě)更具效率。
簡(jiǎn)述泛型約束的作用
解答
- 定義泛型時(shí)可使用where關(guān)鍵字約束列表僚饭,以限制泛型類型參數(shù)的可選范圍震叮,如果類型參數(shù)指定時(shí)超出約束的指定范圍,則編譯時(shí)將報(bào)錯(cuò)鳍鸵。
分析
- 泛型雖然給程序開(kāi)發(fā)帶來(lái)了很大的便利苇瓣,提升了名序代碼的編寫(xiě)效率,但也存在被濫用的可能偿乖。
- 例如击罪,有的程序中某些泛型類的類型占位符只允許某個(gè)范圍類型(如僅限制于值類型)哲嘲,而泛型默認(rèn)情況下允許使用任何類型將其實(shí)例化。
- 使用泛型約束可以基本解決這種問(wèn)題媳禁,泛型約束用于限制類型的可選范圍撤蚊,約束以where開(kāi)頭,多個(gè)約束可以用空格分隔后一起使用损话。