1. 程式人生 > >類 Stack--後進先出(LIFO)的物件堆疊 回顧

類 Stack--後進先出(LIFO)的物件堆疊 回顧

java.util
類 Stack<E>

所有已實現的介面:
public class Stack<E>
extends Vector<E>

Stack 類表示後進先出(LIFO)的物件堆疊。它通過五個操作對類 Vector 進行了擴充套件 ,允許將向量視為堆疊。它提供了通常的 pushpop 操作,以及取堆疊頂點的 peek 方法、測試堆疊是否為空的 empty 方法、在堆疊中查詢項並確定到堆疊頂距離的 search 方法。 

首次建立堆疊時,它不包含項。

Deque 介面及其實現提供了 LIFO 堆疊操作的更完整和更一致的 set,應該優先使用此 set,而非此類。例如:

   Deque<Integer> stack = new ArrayDeque<Integer>();
從以下版本開始:

JDK1.0 

欄位摘要
 
構造方法摘要
Stack()
          建立一個空堆疊。
方法摘要
 booleanempty()
          測試堆疊是否為空。
 Epeek()
          檢視堆疊頂部的物件,但不從堆疊中移除它。
 Epop()
          移除堆疊頂部的物件,並作為此函式的值返回該物件。
 Epush(E item)
          把項壓入堆疊頂部。
 int
          返回物件在堆疊中的位置,以 1 為基數。
構造方法詳細資訊

Stack

public Stack()
建立一個空堆疊。 
方法詳細資訊

push

public E push(E item)
把項壓入堆疊頂部。其作用與下面的方法完全相同:
 addElement(item)
引數:
item - 壓入堆疊的項。
返回:
item 引數。
另請參見:

pop

public E pop()
移除堆疊頂部的物件,並作為此函式的值返回該物件。
返回:
堆疊頂部的物件(Vector 物件中的最後一項)。
丟擲:

peek

public E peek()
檢視堆疊頂部的物件,但不從堆疊中移除它。
返回:
堆疊頂部的物件(Vector 物件的最後一項)。
丟擲:

empty

public boolean empty
()
測試堆疊是否為空。
返回:
當且僅當堆疊中不含任何項時返回 true;否則返回 false

search

public int search(Object o)
返回物件在堆疊中的位置,以 1 為基數。如果物件 o 是堆疊中的一個項,此方法返回距堆疊頂部最近的出現位置到堆疊頂部的距離;堆疊中最頂部項的距離為 1。使用 equals 方法比較 o 與堆疊中的項。
引數:
o - 目標物件。
返回:
物件到堆疊頂部的位置,以 1 為基數;返回值 -1 表示此物件不在堆疊中。