A. java ArrayList的用法
import java.util.ArrayList;
import java.util.Iterator;
public class Demo {
public static void main(String[] args){
ArrayList list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
System.out.println("list中添加了a,b,c三個元素");
Iterator it = list.iterator();
System.out.print("遍歷list得到的結果:");
while(it.hasNext()){
System.out.print(it.next() + ",");
}
System.out.println();
list.clear();
System.out.println("已經移除了list中的所有元素");
}
}
ArrayList類:
ArrayList實現了可變大小的數組。它允許所有元素,包括null。ArrayList沒有同步。
size,isEmpty,get,set方法運行時間為常數。但是add方法開銷為分攤的常數,添加n個元素需要O(n)的時間。其他的方法運行時間為線性。
每個ArrayList實例都有一個容量(Capacity),即用於存儲元素的數組的大小。這個容量可隨著不斷添加新元素而自動增加,但是增長演算法並沒有定義。當需要插入大量元素時,在插入前可以調用ensureCapacity方法來增加ArrayList的容量以提高插入效率。
Map介面:
請注意,Map沒有繼承Collection介面,Map提供key到value的映射。一個Map中不能包含相同的key,每個key只能映射一個value。Map介面提供3種集合的視圖,Map的內容可以被當作一組key集合,一組value集合,或者一組key-value映射。
B. 用java創建一個稱為List的類,它能存儲任何類型的對象,並可以在任何時候增加或刪除對象
Java中是有java.util.List介面的,實現類有一大堆,常用的有ArrayList(底層是數組)和LinkedList(底層是鏈表),創建方法是這樣的:
List<Object>arryList=newArrayList<Object>();
List<Object>linkedList=newLinkedList<Object>();
上面用到是多態。
添加是這樣的:
arrayList.add(obj);
linkedList.add(obj);//兩個一樣,沒區別
刪除是這樣的:
arrayList.remove(0);//0是下標
linkedList.remove(0);
如果只是增加和刪除的話,建議使用LinkedList,效率高一些。
如果非要自己寫一個類的話,會麻煩很多。
publicclassList<L>{
privateLinkedList<L>list=newLinkedList<L>();
publicvoidadd(Ll){
list.addLast(l);
}
publicvoidremove(inta){
//方法
list.remove(a);
}
}
其中L表示範型, 別問為什麼要用L,因為我姓梁。
希望我的回答能對你有所幫助,榮幸之至。