1. 程式人生 > >List接口的實現類(Vector)(與ArrayList相似,區別是Vector是重量級的組件,使用使消耗的資源比較多。)

List接口的實現類(Vector)(與ArrayList相似,區別是Vector是重量級的組件,使用使消耗的資源比較多。)

list接口 面試經驗 實現 類方法 情況 stack 應該 方法 父類

LinkedList提供以下方法:(ArrayList無此類方法)

addFirst();

removeFirst();

addLast();

removeLast();

在堆棧中,push為入棧操作,pop為出棧操作。

PushaddFirst()popremoveFirst(),實現後進先出。

isEmpty()--其父類的方法,來判斷棧是否為空。

在隊列中,put為入隊列操作,get為出隊列操作。

PutaddFirst()getremoveLast()實現隊列。

List接口的實現類(Vector)(與ArrayList

相似,區別是Vector是重量級的組件,使用使消耗的資源比較多。)

結論:在考慮並發的情況下用Vector(保證線程的安全)。

在不考慮並發的情況下用ArrayList(不能保證線程的安全)。

面試經驗(知識點):

java.util.stackstack即為堆棧)的父類為Vector。可是stack的父類是最不應該為Vector的。因為Vector的底層是數組,且Vectorget方法(意味著它可能訪問到並不屬於最後一個位置元素的其他元素,很不安全)。

對於堆棧和隊列只能用push類和get類。

Stack類以後不要輕易使用。

!!!實現堆棧一定要用LinkedList

(在JAVA1.5中,collectionqueue來實現隊列。)

List接口的實現類(Vector)(與ArrayList相似,區別是Vector是重量級的組件,使用使消耗的資源比較多。)