java8 集合之Stack詳解及實(shí)例
java 集合之Stack
概要:
Stack是棧,特性是先進(jìn)后出(FILO,F(xiàn)irst In Last Out)。Stack是繼承于Vector(矢量隊(duì)列),由于Vector是同數(shù)組實(shí)現(xiàn)的,Stack也是通過數(shù)組而非鏈表。
Stack和Collection關(guān)系如下:

基于Java8的源代碼:
public class Stack<E> extends Vector<E> {
public Stack() {//創(chuàng)建空棧
}
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;
}
//序列版本號(hào)
private static final long serialVersionUID = 1224463164541339165L;
}
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
LinkedBlockingQueue鏈?zhǔn)阶枞?duì)列的使用和原理解析
這篇文章主要介紹了LinkedBlockingQueue鏈?zhǔn)阶枞?duì)列的使用和原理解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
servlet監(jiān)聽器的學(xué)習(xí)使用(三)
這篇文章主要為大家詳細(xì)介紹了servlet監(jiān)聽器學(xué)習(xí)使用的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
SpringBoot從配置文件中獲取屬性的四種方法總結(jié)
這篇文章主要介紹了SpringBoot從配置文件中獲取屬性的四種方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
idea中自動(dòng)生成Java類圖和時(shí)序圖的圖文教程
本文主要介紹了idea中自動(dòng)生成Java類圖和時(shí)序圖的圖文教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
java藍(lán)橋杯歷年真題及答案整理(小結(jié))
這篇文章主要介紹了java藍(lán)橋杯歷年真題及答案整理(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02

