Posted on 2006-12-13 10:20
Fisher 閱讀(847)
評論(0) 編輯 收藏 所屬分類:
Java 學習筆記
ArrayList類 ?
? ArrayList實現了可變大小的數組。它允許所有元素,包括null。ArrayList沒有同步。 ?
? size,isEmpty,get,set方法運行時間為常數。但是add方法開銷為分攤的常數,添加n個元素需要O(n)的時間。其他的方法運行時間為線性。 ?
? 每個ArrayList實例都有一個容量(Capacity),即用于存儲元素的數組的大小。這個容量可隨著不斷添加新元素而自動增加,但是增長算法并沒有定義。當需要插入大量元素時,在插入前可以調用ensureCapacity方法來增加ArrayList的容量以提高插入效率。 ?
? 和LinkedList一樣,ArrayList也是非同步的(unsynchronized)。 ?
? ?
? Vector類 ?
? Vector非常類似ArrayList,但是Vector是同步的。由Vector創建的Iterator,雖然和ArrayList創建的Iterator是同一接口,但是,因為Vector是同步的,當一個Iterator被創建而且正在被使用,另一個線程改變了Vector的狀態(例如,添加或刪除了一些元素),這時調用Iterator的方法時將拋出ConcurrentModificationException,因此必須捕獲該異常。??