Stack簡介
- Stack基于Vector實(shí)現(xiàn),支持LIFO 后進(jìn)先出
源碼分析
jdk1.7.0_71
默認(rèn)構(gòu)造
public Stack() {
}
push(E item)將元素壓入頂端
public E push(E item) {
addElement(item);
return item;
}
pop() 刪除頂部的元素,同步方法
public synchronized E pop() {
E obj;
int len = size();
obj = peek();
removeElementAt(len - 1);
return obj;
}
peek() 獲取頂端元素
public synchronized E peek() {
int len = size();
if (len == 0)
throw new EmptyStackException();
return elementAt(len - 1);
}
empty() 是否為空
public boolean empty(){}
search(Object o) 查詢當(dāng)前o距離棧底的距離
public synchronized int search(Object o) {
int i = lastIndexOf(o);
if (i >= 0) {
return size() - i;
}
return -1;
}