2008-11-26 57 views

回答

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>穩定爲好,順便說一句。)

+2

「非泛型集合是如此2003 ...」 - 大聲笑,好一個喬恩,這是我的報價本週:) – 2008-11-26 16:57:55

6

是,是,除非一些一塊代碼的通過改變順序例如交換。

2

是。 [傻答案長度限制]

0

當你添加項目到一個ArrayList中的項目將始終保持該索引。當然,除非你改變它。

(框架可能會重新排列內存,但你的索引將始終保持不變)

4

是的。由於它存儲爲一個數組。

其它屬性是

  • 爲了保證
  • 隨機訪問。您可以通過指數爲O訪問任何元件(1)
  • 緩慢插入,並在開頭和中間刪除。
  • 未分類。 (排序應採取使用快速排序O(n日誌n)或類似的)