Stack是完全基於Vector代碼實現的,所以代碼相對較少,並且沒有定義新的屬性。
類中的方法:
1.添加
public E push(E item) {
addElement(item);
return item;
}
2.刪除
public synchronized E pop() {
E obj;
int len = size();
obj = peek();
removeElement(len - 1);
}
調用了peek()獲取要刪除的元素。
public synchronized E peek() {
int len = size();
if (len == 0)
throw new EmptyStackException();
return element(len - 1);
}
3.查找
public synchronized int search(Object o) {
int i = lastIndexOf(o);
if (i >= 0) {
return size() - 1;
}
return -1;
}
因爲Stack的特點是先進後出,所以查找的時候,返回的是最後一個出現的位置。