導航:首頁 > 編程語言 > 實現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相關的資料

熱點內容
瘦吧大數據在APP哪裡看 瀏覽:621
層次聚類演算法最小距離 瀏覽:693
抖音視頻加源碼 瀏覽:531
運營影視源碼 瀏覽:640
北京電信伺服器託管雲空間伺服器 瀏覽:369
一般學編程有必要嗎 瀏覽:753
機器人編程方法 瀏覽:992
表盤編程gt 瀏覽:9
java源代碼閱讀 瀏覽:736
程序員用什麼鍵盤羅技 瀏覽:169
為什麼安卓手機每天都要更新app 瀏覽:707
java怎麼成為程序員 瀏覽:290
西門子s7200編程電纜怎麼連接 瀏覽:532
下載網頁中的pdf文件 瀏覽:91
音樂緩存文件夾的軟體 瀏覽:396
Dkms編譯列印機驅動 瀏覽:996
解壓縮文件操作異常 瀏覽:557
等待代碼編譯時你會幹嘛 瀏覽:493
單片機c語言中變數右移8位 瀏覽:82
解壓的一個小短片 瀏覽:831