JAVA 中,使用 java.util.Stack 類別的建構方法建立物件。
public class Stack extends vector
構造方法 : public Stack() 建立一個空 Stack。
方法: 1. public push (item ) 把項目 壓入堆疊頂部。其作用與 addElement (item ) 相同。
參數 item 壓入棧頂的項 。 傳回: item 參數 ;
2. public pop () 移除棧頂對象,並作為函數的值 傳回該物件。
回傳:棧頂物件(Vector 物件的中的最後一項)。
拋出異常 : EmptyStackException 如果堆疊式空的 。 。 。
3. public peek() 查看棧頂物件而不移除它。 。
傳回:棧頂物件(Vector 物件的中的最後一項)。
拋出異常 : EmptyStackException 如果堆疊式空的 。 。 。
4. public boolean empty (測試堆疊是否為空。) 當且僅當堆疊中不含任何項目時傳回true,否則傳回false.
5. public int search (object o) 返回物件在堆疊中位置傳回物件在堆疊中位置, 以1 為基數, 若物件o是堆疊中的一項,則該方法傳回距離棧頂最近的出現位置到棧頂的距離; 棧中最上端項的距離為1 。 使用equals 方法比較 o 與 堆疊中的項目。 。 。
參數: o 目標物件;
/** * @author yuanLi */ package thinkingJava; import java.util.*; import com.sun.org.apache.bcel.internal.generic.NEW; /** * */ public class StackTest { /** * @param args */ public static void main(String[] args) { Stack stack = new Stack(); // 创建堆栈对象 System.out.println("11111, absdder, 29999.3 三个元素入栈"); stack.push(new Integer(11111)); //向 栈中 压入整数 11111 printStack(stack); //显示栈中的所有元素 stack.push("absdder"); //向 栈中 压入 printStack(stack); //显示栈中的所有元素 stack.push(new Double(29999.3)); //向 栈中 压入 printStack(stack); //显示栈中的所有元素 String s = new String("absdder"); System.out.println("元素absdder在堆栈的位置"+stack.search(s)); System.out.println("元素11111在堆栈的位置"+stack.search(11111)); System.out.println("11111, absdder, 29999.3 三个元素出栈"); //弹出 栈顶元素 System.out.println("元素"+stack.pop()+"出栈"); printStack(stack); //显示栈中的所有元素 System.out.println("元素"+stack.pop()+"出栈"); printStack(stack); //显示栈中的所有元素 System.out.println("元素"+stack.pop()+"出栈"); printStack(stack); //显示栈中的所有元素 } private static void printStack(Stack<Integer> stack ){ if (stack.empty()) System.out.println("堆栈是空的,没有元素"); else { System.out.print("堆栈中的元素:"); Enumeration items = stack.elements(); // 得到 stack 中的枚举对象 while (items.hasMoreElements()) //显示枚举(stack ) 中的所有元素 System.out.print(items.nextElement()+" "); } System.out.println(); //换行 } }
更多java堆疊類別使用實例(java中stack的使用方法)相關文章請關注PHP中文網!