list 的三個子類

2021-09-29 08:23:07 字數 4479 閱讀 7699

arraylist:

底層資料結構是陣列,查詢快,增刪慢。

執行緒不安全,效率高。

vector:

底層資料結構是陣列,查詢快,增刪慢。

執行緒安全,效率低。

linkedlist:

底層資料結構是鍊錶,查詢慢,增刪快。

執行緒不安全,效率高。

vector 類可以實現可增長的物件陣列 , vector 是同步的。
public void addelement(e obj)將指定的元件新增到此向量的末尾,將其大小增加 1-----add取代 如果向量的大小比容量大,則增大其容量。 此方法的功能與 add(e) 方法的功能完全相同(後者是 list 介面的一部分)。

public e elementat(int index)返回指定索引處的元件。 此方法的功能與 get(int) 方法的功能完全相同(後者是 list 介面的一部分)。—get取代

e firstelement ()返回此向量的第乙個元件(位於索引 0)處的項)。

e lastelement ()返回此向量的最後乙個元件。

void removeallelements () 從此向量中移除全部元件,並將其大小設定為零

public enumeration elements()返回此向量的元件的列舉返回的 enumeration 物件將生成此向量中的所有項。

vector vector =

newvector()

;//新增元素

vector.

add(

"aaa");

vector.

add(

"bbb");

vector.

add(

"ccc");

vector.

addelement

("fff");

vector.

add(

"eeee");

/* void addelement (e obj)

將指定的元件新增到此向量的末尾,將其大小增加 1。

e elementat ( int index)

返回指定索引處的元件。

e firstelement ()

返回此向量的第乙個元件(位於索引 0)處的項)。

e lastelement ()

返回此向量的最後乙個元件。

void removeallelements ()

從此向量中移除全部元件,並將其大小設定為零*/

object o = vector.

get(0)

; object o1 = vector.

elementat(0

);// system.out.println(o);

// system.out.println(o1);

// object o2 = vector.firstelement();

// object o3 = vector.lastelement();

// system.out.println(o2);

// system.out.println(o3);

//用for遍歷

for(

int i =

0; i < vector.

size()

; i++

)//vector 自帶的迭代器 enumeration

enumeration elements = vector.

elements()

;while

(elements.

hasmoreelements()

) system.out.

println

(o4);}

}}

list 介面的鏈結列表實現 , 此實現不是同步的

public void addfirst(e e)及addlast(e e)

public e getfirst()及getlast()

public e removefirst()及public e removelast()

e peek ()獲取但不移除此列表的頭(第乙個元素)

e poll ()獲取並移除此列表的頭(第乙個元素)

//linkedlist 底層資料結構是鍊錶,查詢慢,增刪快 ,執行緒 不安全,效率高

linkedlist linkedlist =

newlinkedlist()

;// linkedlist.add(100);

// linkedlist.add(200);

linkedlist.

addlast

(9901);

linkedlist.

addlast

(9902);

linkedlist.

addlast

(9903);

linkedlist.

addlast

(9904);

// linkedlist.add(300);

linkedlist.

addfirst

(600);

//往最前面加

linkedlist.

addfirst

(601);

//往最前面加

linkedlist.

addfirst

(602);

//往最前面加 linkedlist.addfirst(600); //往最前面加

system.out.

println

(linkedlist)

; system.out.

println

("*************************==");

object first = linkedlist.

getfirst()

; system.out.

println

(first)

; object last = linkedlist.

getlast()

; system.out.

println

(last)

;// linkedlist.removefirst();

// linkedlist.removelast();

/* e peek ()

獲取但不移除此列表的頭(第乙個元素)。*/

object peek = linkedlist.

peek()

; system.out.

println

(peek)

;/* e poll ()

獲取並移除此列表的頭(第乙個元素)*/

object poll = linkedlist.

poll()

; object poll2 = linkedlist.

poll()

; object poll3 = linkedlist.

poll()

; system.out.

println

(linkedlist)

;

用linkedlist模擬棧資料結構的集合

public

class

mylist

//利用構造方法進行初始化

public

void

addele

(object ele)

public object getele()

public

class

mytest

*/mylist mylist =

newmylist()

; mylist.

addele

(100);

mylist.

addele

(200);

mylist.

addele

(300);

object ele = mylist.

getele()

; system.out.

println

(ele)

; ele = mylist.

getele()

; system.out.

println

(ele)

; ele = mylist.

getele()

; system.out.

println

(ele);}

}

List三個子類的特點

listlist是乙個有序的集合,和set不同的是,list允許儲存項的值為空,也允許儲存相等值的儲存項 list是繼承於collection介面,除了collection通用的方法以外,擴充套件了部分只屬於list的方法 list比collection主要多了幾個add 方法和remove 方法的...

List三個子類的特點?

arraylist 底層資料結構是陣列,查詢快,增刪慢 執行緒不安全,效率高 vector 底層資料結構是陣列,查詢快,增刪慢 執行緒安全,效率低 vector相對arraylist查詢慢 執行緒安全 vector相對linkedlist增刪慢 陣列結構 linkedlist 底層資料結構是鍊錶,查...

java集合list的三個子類

arraylist 底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,效率高。vector 底層資料結構是陣列,查詢快,增刪慢。執行緒安全,效率低。vector相對arraylist查詢慢 執行緒安全的 linkedlist 底層資料結構是鍊錶,查詢慢,增刪快。執行緒不安全,效率高。vector和a...