ArrayList、List、HashSet、LinkedList各自優點和缺點,Dictionary的內部存儲數據方式有什麼特殊的?

ArrayList由於內部是一個object數組,添加數據不限制類型,因爲內部有了數據自動擴容的方法,所以也不必擔心數據量過大,溢出等原因。相比數組還是很有優勢的,但是相比泛型集合,效率要比泛型集合慢很多,所以推薦使用泛型集合。

List<T>List<T>ArrayList的泛型版本,與ArrayList相比,最大的優點在於,因爲本質是個泛型數組,List在使用時必須聲明泛型的類型,所以在集合時會做嚴格的編譯檢查,集合只能儲存T類型或其子類型的對象。

HashSet:自動消除重複的數據。

<LinkedList>鏈表集合Linkedlist最大的特點是,集合本身只保存了頭節點,如果添加第二個節點,那麼其實是把節點的地址保存在了

頭節點的next變量中,因此,鏈表集合內部不是依靠數組存放數據,所以每次添加的時候,不需要擴容。和其他集合相比,鏈表集合具有聯繫性,因爲保存了上一個節點和下一個節點的地址。

Dictionary<K,V>:字典集合存儲數據時,都是根據hashcode計算要存儲的位置下標,可以直接去訪問,而不需要逐個找。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章