Java建立一個棧與佇列
阿新 • • 發佈:2019-02-05
關於棧
棧(Stack)是限定只能在一段進行插入和刪除操作的線性表。
進行插入和刪除操作的一端稱為“棧頂”(top),另一端稱為“棧底”(bottom)。
棧的插入操作稱為“入棧”(push),棧的刪除 操作稱為“出棧”(pop)。
棧具有後進先出(LIFO),先進後出(FILO)的特性。
Java Stack 類
棧是Vector的一個子類,它實現了一個標準的後進先出的棧。
堆疊只定義了預設建構函式,用來建立一個空棧。 堆疊除了包括由Vector定義的所有方法,也定義了自己的一些方法。
除了由Vector定義的所有方法,自己也定義了一些方法:
序號 | 方法描述 |
---|---|
1 | boolean empty() 測試堆疊是否為空。 |
2 | Object peek( ) 檢視堆疊頂部的物件,但不從堆疊中移除它。 |
3 | Object pop( ) 移除堆疊頂部的物件,並作為此函式的值返回該物件。 |
4 | Object push(Object element) 把項壓入堆疊頂部。 |
5 | int search(Object element) 返回物件在堆疊中的位置,以 1 為基數。 |
Queue使用時要儘量避免Collection的add()和remove()方法,而是要使用offer()來加入元素,使用poll()來獲取並移出元素。它們的優點是通過返回值可以判斷成功與否,add()和remove()方法在失敗的時候會丟擲異常。 如果要使用前端而不移出該元素,使用
element()或者peek()方法。