導航:首頁 > 編程語言 > 實現java的arraylist

實現java的arraylist

發布時間:2024-12-22 01:58:18

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,因為我姓梁。

希望我的回答能對你有所幫助,榮幸之至。

閱讀全文

與實現java的arraylist相關的資料

熱點內容
linux組命令 瀏覽:963
怎麼推廣app讓人去下載和注冊 瀏覽:545
空調壓縮機啟動電容用大一點的行嗎 瀏覽:396
mac命令行查找文件 瀏覽:177
按鍵精靈安卓版怎麼停止線程 瀏覽:73
九爺妾不從命壓縮包下載 瀏覽:462
單片機and 瀏覽:687
什麼叫可編程 瀏覽:940
安卓如何敲擊手機背面打開健康碼 瀏覽:215
加密機硬體設計 瀏覽:640
全部解壓游戲名 瀏覽:639
小程序素材網站解析源碼 瀏覽:759
利用excel做個文件夾所有文件目錄 瀏覽:261
等體梯形演算法公式 瀏覽:20
鯤鵬920伺服器怎麼進bios 瀏覽:95
騰訊演算法是干什麼 瀏覽:597
小網站需要雲伺服器地址 瀏覽:846
h3c退出命令 瀏覽:311
linux目錄命令是什麼 瀏覽:493
php獲取word內容 瀏覽:386