本文將會對 Java 基礎(chǔ)知識中的棧做一個簡單的介紹,主要介紹 Java 中棧的基本使用以及棧的定義方法。
棧(stack)是一種用于存儲數(shù)據(jù)的簡單數(shù)據(jù)結(jié)構(gòu),與鏈表和順序表很相似,最大的區(qū)別在于數(shù)據(jù)的存取操作。棧的插入和刪除操作只允許在一端執(zhí)行,因此把允許操作的一端稱為棧頂,不允許操作的稱為棧底。插入元素稱為入棧(push),刪除元素稱為出棧(pop),沒有元素的棧則是空棧。
棧是Vector的一個子類,實現(xiàn)了一個標(biāo)準(zhǔn)的后進先出的棧。
堆棧只定義了默認(rèn)構(gòu)造函數(shù),用來創(chuàng)建一個空棧。
Stack();
堆??梢岳^承Vector的所有方法,同時自身也制定了一些方法。
實例代碼
import java.util.*;
public class StackDemo {
static void showpush(Stack<Integer> st, int a) {
st.push(new Integer(a));
System.out.println("push(" + a + ")");
System.out.println("stack: " + st);
}
static void showpop(Stack<Integer> st){
System.out.print("pop -> ");
Integer a - (Integer) st.pop();
System.out.println(a);
System.out.println("stack: ”+st);
}
public static void main(String args[]){
Stack<Integer> st = new Stack<Integer>()
System.out.println("stack: "+ st);
shawpush(st,42);
showpush(st,66);
showpush(st,99);
showpop(st);
showpop(st);
showpop(st);
try {
showpop(st);
}catch (EmptystackException e) {
System.out.println("empty stack");
}
}
}
運行結(jié)果:
stack : []
push(42)
stack : [42]
push(66)
stack : [42,66]
push(99)
stack : [42,66,99]
pop -> 99
stack : [42,66]
pop -> 66
stack : [42]
pop -> 42
stack: []
pop -> empty stack
總結(jié):
本文關(guān)于Java棧的基本使用和Java棧的定義方法的介紹就到此結(jié)束了,如果還想要了解更多關(guān)于Java基礎(chǔ)知識的內(nèi)容,請關(guān)注 w3cschool 或 編程獅APP。