0
如果我沒有錯Generic集合存儲特定類型的對象。
例如,List<String>
僅存儲String類型的對象。
另外String[] arr = new String[size]
存儲String類型的對象。
兩者都支持IEnumerable
接口。
所以我想知道泛型集合和特定類型的數組之間的區別。泛型集合與特定數據類型數組的區別
如果我沒有錯Generic集合存儲特定類型的對象。
例如,List<String>
僅存儲String類型的對象。
另外String[] arr = new String[size]
存儲String類型的對象。
兩者都支持IEnumerable
接口。
所以我想知道泛型集合和特定類型的數組之間的區別。泛型集合與特定數據類型數組的區別
array
是固定大小。您可以預先確定尺寸,就是這樣。像List<T>
這樣的集合是可變大小的。它支持添加和刪除集合中的項目。在幕後,List<T>
使用array
來存儲項目。它足夠聰明,可以根據需要重新調整array
的大小。
所以你不應該考慮泛型vs數組,但收集與數組。也有非通用數組,但是你很少使用這些數組。
你可以找到List<T>
here的文檔。
這是關於你想如何使用它。陣列顯然更緊湊(佔用更少的空間),但也不太靈活。您可以將任何內容轉換爲任何內容,但轉換需要時間和內存。如果你希望有像'insert','add','delete','sort'這樣的操作,然後使用'List <>'。如果你的優先級是按鍵查找,那麼兩者都不好(例如使用'Hashtable')。數組很適合保存固定大小的數據(例如,組織循環緩衝區)或優化大小(內存)。 – Sinatr