Java學習總結:56(Stack子類)

Stack子類

Stack表示棧操作,棧也是一種動態對象數組,採用的是一種先進後出的數據結構形式,即在棧中最早保存的數據最後纔會取出,而最後保存的數據可以最先取出。Stack類的定義如下:

public class Stack<E>extends Vector<E>

由上我們可以發現Stack類屬於Vector的子類,但是在進行Stack類操作時不會使用Vector類定義的方法,主要使用Stack自己定義的方法。Stack類的常用方法如下:

No. 方法 類型 描述
1 public E public(E item) 普通 數據入棧
2 public E pop() 普通 數據出棧,如果棧中沒有數據,則調用此方法會拋出空棧異常(EmptyStackException)

例:觀察棧的操作

package Project.Study.Stack;

import java.util.Stack;

public class Test1 {
    public static void main(String[]args){
        Stack<String>all = new Stack<>();
        all.push("!!!");
        all.push("World ");
        all.push("Hello ");
        System.out.print(all.pop());
        System.out.print(all.pop());
        System.out.println(all.pop());
        System.out.println(all.pop());//EmptyStackException
    }
}
//結果:
//Hello World !!!
//Exception in thread "main" java.util.EmptyStackException
//	at java.base/java.util.Stack.peek(Stack.java:102)
//	at java.base/java.util.Stack.pop(Stack.java:84)
//	at Project.Study.Stack.Test1.main(Test1.java:14)

由上程序我們可以看到,當棧中沒有數據時,再進行出棧操作則將會拋出"EmptyStackException"異常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章