java8 集合之Stack詳解及執行個體
釋出時間:2020-08-31 00:16:18
來源:腳本之家
閱讀:108
作者:lqh
java 集合之Stack
概要:
Stack是棧,特性是先進後出(FILO,First In Last Out)。Stack是繼承于Vector(矢量隊列),由于Vector是同數組實作的,Stack也是通過數組而非連結清單。
Stack和Collection關系如下:
基于Java8的源代碼:
public class Stack extends Vector {
public Stack() {//建立空棧
}
public E push(E item) {//入棧
addElement(item);
return item;
}
//出棧
public synchronized E pop() {
E obj;
int len = size();
obj = peek();
removeElementAt(len - 1);
return obj;
}
//傳回棧頂元素,但并不出棧
public synchronized E peek() {
int len = size();
if (len == 0)
throw new EmptyStackException();
return elementAt(len - 1);
}
//判斷棧是否為空
public boolean empty() {
return size() == 0;
}
//查找元素并傳回棧深
public synchronized int search(Object o) {
int i = lastIndexOf(o);
if (i >= 0) {
return size() - i;
}
return -1;
}
//序列版本号
private static final long serialVersionUID = 1224463164541339165L;
}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支援!