天天看點

java集合 stack_java8 集合之Stack詳解及執行個體

java8 集合之Stack詳解及執行個體

釋出時間:2020-08-31 00:16:18

來源:腳本之家

閱讀:108

作者:lqh

java  集合之Stack

概要:

Stack是棧,特性是先進後出(FILO,First In Last Out)。Stack是繼承于Vector(矢量隊列),由于Vector是同數組實作的,Stack也是通過數組而非連結清單。

Stack和Collection關系如下:

java集合 stack_java8 集合之Stack詳解及執行個體

基于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;

}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支援!