java8 集合之Stack詳解及實例
java 集合之Stack
概要:
Stack是棧,特性是先進后出(FILO,F(xiàn)irst In Last Out)。Stack是繼承于Vector(矢量隊列),由于Vector是同數(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; } //序列版本號 private static final long serialVersionUID = 1224463164541339165L; }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Springboot?中的?Filter?實現(xiàn)超大響應(yīng)?JSON?數(shù)據(jù)壓縮的方法
這篇文章主要介紹了Springboot?中的?Filter?實現(xiàn)超大響應(yīng)?JSON?數(shù)據(jù)壓縮,定義GzipFilter對輸出進行攔截,定義 Controller該 Controller 非常簡單,主要讀取一個大文本文件,作為輸出的內(nèi)容,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10淺談Java虛擬機對內(nèi)部鎖的四種優(yōu)化方式
這篇文章主要介紹了淺談Java虛擬機對內(nèi)部鎖的四種優(yōu)化方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10Java利用Request請求如何獲取IP地址對應(yīng)的省份、城市詳解
之前已經(jīng)給大家介紹了關(guān)于Java用Request請求獲取IP地址的相關(guān)內(nèi)容,那么下面這篇文章將給大家進入深入的介紹,關(guān)于Java利用Request請求如何獲取IP地址對應(yīng)省份、城市的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-10-10Spring Boot熱加載jar實現(xiàn)動態(tài)插件的思路
本文主要介紹在 Spring Boot 工程中熱加載 jar 包并注冊成為 Bean 對象的一種實現(xiàn)思路,在動態(tài)擴展功能的同時支持在插件中注入主程序的 Bean 實現(xiàn)功能更強大的插件2021-10-10解決java字符串轉(zhuǎn)換成時間Unparseable date出錯的問題
這篇文章主要介紹了解決java字符串轉(zhuǎn)換成時間Unparseable date出錯的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06