2010-04-22 40 views
2

雖然將數據添加到集合中,這是更好的實踐使用,什麼是性能影響,如果我們使用Dictionary vs ArrayList和爲什麼?字典vs ArrayList

+0

http://stackoverflow.com/questions/128636/net-data-structures-arraylist-list-hashtable-dictionary-sortedlist-sortedd的可能重複 – 2010-04-22 05:13:29

+2

這完全取決於什麼你在*之後將數據添加到集合中,當然?如果一旦它在那裏,你從來沒有做過任何事情,那麼爲收藏添加東西有什麼意義? – 2010-04-22 05:14:55

回答

3

實際上根本不應該使用ArrayList,因爲您使用的是強類型List<T>

您使用哪個取決於您需要如何訪問數據。列表存儲項目的順序列表,而詞典存儲由項目標識的項目。 (您仍然可以從字典中順序讀取項目,但順序不會被保留。)

性能幾乎相同,都使用內部數組來存儲實際數據。當他們達到他們的容量時,他們分配一個新的更大的陣列並將數據複製到它。如果您知道集合有多大,則應在創建集合時指定容量,以免它自己調整大小。

1

它們不是可互換的類。蘋果和桔子。如果您打算使用密鑰在集合中查找項目,請使用Dictionary。否則,使用ArrayList(或最好List<T>