Java中,使用棧(Stack)結(jié)構(gòu)來(lái)存儲(chǔ)數(shù)據(jù)是非常常見(jiàn)的操作之一,而且在Java中,棧提供了很多方便的方法供我們使用。其中,入棧和出棧是棧操作中最基本的兩種操作,下面我們分別來(lái)介紹一下。
入棧
入棧(push)就是向棧中添加元素的操作。在Java中,我們可以使用Stack類提供的push()方法來(lái)實(shí)現(xiàn)入棧操作。下面是示例代碼:
Stack stack = new Stack(); stack.push("Java"); stack.push("Python"); stack.push("C++");
在上面的代碼中,我們首先創(chuàng)建了一個(gè)空棧stack,然后依次使用push()方法將"Java"、"Python"和"C++"三個(gè)元素依次入棧。入棧后,棧頂?shù)脑厥?C++",棧底的元素是"Java"。
出棧
出棧(pop)是指從棧中彈出棧頂元素的操作。在Java中,我們可以使用Stack類提供的pop()方法來(lái)實(shí)現(xiàn)出棧操作。下面是示例代碼:
Stack stack = new Stack(); stack.push("Java"); stack.push("Python"); stack.push("C++"); String element = (String) stack.pop();
在上面的代碼中,我們首先創(chuàng)建了一個(gè)棧stack并執(zhí)行了入棧操作。然后,我們使用pop()方法彈出了棧頂元素C++,并將其賦值給了字符串變量element。此時(shí),棧中剩余的元素依次向下移動(dòng)。注意,我們?cè)诖颂帉tack.pop()的返回值強(qiáng)制轉(zhuǎn)換為了String類型,因?yàn)镾tack類的pop()方法返回值為Object類型。
除了pop()方法外,Stack類還提供了peek()方法,它可以用來(lái)查看棧頂元素而不用出棧。示例代碼如下:
Stack stack = new Stack(); stack.push("Java"); stack.push("Python"); stack.push("C++"); String element = (String) stack.peek();
在上面的代碼中,我們將棧頂元素"C++"通過(guò)peek()方法取出并賦值給element變量。由于peek()方法不彈出棧頂元素,因此執(zhí)行完上述代碼后,棧中的元素仍然是"Java"、"Python"和"C++",且棧頂仍然是"C++"。