棧是在數據結構中比較常見的一種形式,棧是采用典型的先進后出的操作方式完成的。
棧是采用先進后出的數據存儲方式,每一個棧都包含一個棧頂,每次出棧是將棧頂的數據取出

在java中使用Stack類進行棧的操作,Stack類是Vector的子類,Stack的定義如下
public class Stack<E>extends Vector<E>

事例
package com.qn.test;
import java.util.Stack;
public class StackTest {
public static void main(String[] args) {
Stack<String> s=new Stack<String>();
s.push("A");//入棧
s.push("B");//入棧
s.push("C");//入棧
s.push("D");//入棧
System.out.println(s.pop());//先進后出
System.out.println(s.pop());//先進后出
System.out.println(s.pop());//先進后出
System.out.println(s.pop());//先進后出
}
}
結果

如果棧中沒有內容了,則無法繼續出棧
如下
package com.qn.test;
import java.util.Stack;
public class StackTest {
public static void main(String[] args) {
Stack<String> s=new Stack<String>();
s.push("A");//入棧
s.push("B");//入棧
s.push("C");//入棧
s.push("D");//入棧
System.out.println(s.pop());//先進后出
System.out.println(s.pop());//先進后出
System.out.println(s.pop());//先進后出
System.out.println(s.pop());//先進后出
System.out.println(s.pop());//先進后出
}
}
會出下面的空棧異常
