在Java中,棧(Stack)是一種常用的數(shù)據(jù)結(jié)構(gòu),它采用先進后出(FILO)的原則。
當一個元素插入到棧中時,稱為“進棧”(Push)。當一個元素從棧中移除時,稱為“出棧”(Pop)。在使用Java語言編寫棧時,必須掌握進棧和出棧順序,否則可能會導致錯誤的結(jié)果。
public class StackDemo { public static void main(String[] args) { Stackstack = new Stack<>(); stack.push("A"); stack.push("B"); stack.push("C"); System.out.println("當前棧的狀態(tài):" + stack); String element1 = stack.pop();//出棧元素 System.out.println("出棧元素為:" + element1); System.out.println("當前棧的狀態(tài):" + stack); String element2 = stack.peek();//獲取棧頂元素 System.out.println("棧頂元素為:" + element2); System.out.println("當前棧的狀態(tài):" + stack); stack.push("D");//進棧元素 System.out.println("當前棧的狀態(tài):" + stack); } }
以上代碼展示了一個棧的簡單使用,首先將三個元素(A,B,C)進棧,然后分別進行了出棧(Pop)和獲取棧頂元素(Peek)操作。當?shù)谝粋€元素(C)出棧后,棧頂元素變?yōu)榱薆。最后,又進棧了一個元素D。
總的來說,進棧和出棧順序決定了棧的狀態(tài),這是編寫棧相關代碼時必須掌握的。