標籤:java 集合 棧 stack 後進先出
Stack繼承了Vector類,Stack類似於“棧”,它是一種後進先出(LIFO)的對象堆棧,通過五個操作對類Vector進行擴
展,允許將向量視為堆棧。它提供了通常的push和pop操作,以及取堆棧頂點的peek方法,測試堆棧是否為空白的
empty方法、在堆棧中尋找並確定到堆棧頂距離的search方法。
我們來看,加深對棧的理解:
根據,我們知道Stack類似於棧,我們將棧比喻成一個桶,底部是封住的,現在我們現將Object_1存入棧中,然
後是Object_2接著是Object_3最後是Object_4,依次存入棧中,如果現在我們想要擷取棧底的元素,唯一的方法就
是先將上面的元素依次出棧,才能擷取棧底元素,因此Vector是一個後進先出的棧。
以下是Vector類的使用方法:
public class Main {public static void main(String[] args) {/* * 建立一個空的堆棧 */Stack stack=new Stack();/* * 檢測當前的堆棧是否為空白(空返回true,反之返回false),以下堆棧為空白 */System.out.println(stack.empty());//接下來將幾個元素通過push入棧stack.push("Object_1");stack.push("Object_2");stack.push("Object_3");stack.push("Object_4");//現在我們在堆棧中尋找指定的元素,並返回這個元素所在的位置//以下輸出:2System.out.println(stack.search("Object_3"));/* * 通過peek查看堆棧頂部的對象,但不從堆棧中移除它。 *///輸出:Object_4System.out.println(stack.peek());//輸出:[Object_1, Object_2, Object_3, Object_4]System.out.println(stack);/* *通過pop 移除堆棧頂部的對象, *並作為此函數的值返回該對象。 *///輸出:Object_4System.out.println(stack.pop());//輸出:[Object_1, Object_2, Object_3]System.out.println(stack);}}
轉載請註明出處:http://blog.csdn.net/hai_qing_xu_kong/article/details/44159585 情緒控_
Java學習筆記32