如果我使用C#.NET的ArrayList,是保證保持不變,因爲我添加項目的訂單的訂單?在C#.NET中保證了ArrayList的順序嗎?
17
A
回答
39
是,元素始終添加到末尾(除非另行指定,例如通過調用Insert)。換句話說,如果你這樣做:如果你刪除任何早期元素或者在它前面插入新的元素,當然
int size = list.Count;
int index = list.Add(element);
Assert.AreEqual(size, index); // Element is always added at the end
Assert.AreEqual(element, list[index]); // Returned index is position in list
位置將會改變。
有沒有什麼好的理由讓你的方式使用ArrayList
而非List<T>
?非泛型集合是所以 2003 ...
(順序是List<T>
穩定爲好,順便說一句。)
6
是,是,除非一些一塊代碼的通過改變順序例如交換。
2
是。 [傻答案長度限制]
0
當你添加項目到一個ArrayList中的項目將始終保持該索引。當然,除非你改變它。
(框架可能會重新排列內存,但你的索引將始終保持不變)
4
是的。由於它存儲爲一個數組。
其它屬性是
- 爲了保證
- 隨機訪問。您可以通過指數爲O訪問任何元件(1)
- 緩慢插入,並在開頭和中間刪除。
- 未分類。 (排序應採取使用快速排序O(n日誌n)或類似的)
「非泛型集合是如此2003 ...」 - 大聲笑,好一個喬恩,這是我的報價本週:) – 2008-11-26 16:57:55