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...