List集合總結(六)

2021-08-20 09:54:17 字數 2221 閱讀 5848

實現類有arraylist、linkedlist、vector、stack等 

/*

* @author 阿飛

* 效能測試,通過插入、隨機讀取和刪除對arraylist、linkedlist、vector和stack進行測試!

* 結論:看linkedlist

* 插入10萬個元素,linkedlist所花時間最短:17 ms。

* 刪除10萬個元素,linkedlist所花時間最短: 9 ms。

* 遍歷10萬個元素,linkedlist所花時間最長:10255 ms;而arraylist、stack和vector則相差不多,都只用了幾秒。

* (1) 對於需要快速插入,刪除元素,應該使用linkedlist。

* (2) 對於需要快速隨機訪問元素,應該使用arraylist。

* */

public

class

listtest

/*** 指定的list 的子類中插入元素,並統計插入的時間

*@param list list 的子類

*@param name 子類的名稱

*/private

static

void

insertdata(listlist,string name)

long endtime = system.currenttimemillis();

long interval = endtime - starttime;

system.out.println(name + " : 插入 "+count+"元素, 使用的時間是 " + interval+" ms");

}/**

* 指定的list 的子類中刪除元素,並統計刪除的時間

*@param list list 的子類

*@param name 子類的名稱

*/private

static

void

deletedata(listlist,string name)

/*** 指定的list 的子類中讀取元素,並統計讀取的時間

*@param list list 的子類

*@param name 子類的名稱

*/private

static

void

readaccessdata(listlist,string name)

}

...

.開始測試插入元素...

......

.arraylist : 插入 100000元素, 使用的時間是 970 ms

linkedlist : 插入 100000元素, 使用的時間是 17 ms

vector : 插入 100000元素, 使用的時間是 968 ms

stack : 插入 100000元素, 使用的時間是 888 ms

....開始測試讀取元素...

......

.arraylist : 隨機讀取 100000元素, 使用的時間是 6 ms

linkedlist : 隨機讀取 100000元素, 使用的時間是 10255 ms

vector : 隨機讀取 100000元素, 使用的時間是 8 ms

stack : 隨機讀取 100000元素, 使用的時間是 4 ms

....開始測試刪除元素...

......

.arraylist : 刪除 100000元素, 使用的時間是 1460 ms

linkedlist : 刪除 100000元素, 使用的時間是 9 ms

vector : 刪除 100000元素, 使用的時間是 1472 ms

stack : 刪除 100000元素, 使用的時間是 894 ms

public e get(int

index)

e elementdata(int

index)

nodenode(int

index) else

}

public

boolean

add(e e)

public

boolean

add(e e)

void linklast(e e)

List集合總結

list是元素有序並且可以重複的集合。list的主要實現 arraylist linkedlist vector。list常用方法 arraylist linkedlist vector的區別 arraylist的底層實現是陣列,不同步,非執行緒安全,效率高,支援隨機訪問,而且查詢快,增刪慢,預設容...

List集合的用法總結

listpsrson new arraylist person.add jackie person.add peter person.add kobe person.add martin person.add marry system.out.println person person.remove...

List集合addAll的總結

1.public static void main string args else final int len 13 system.out.println len 0xff if len 0x01 0 try catch exception e 2553 31y2.總結 1.list1的addal...