在Java中,堆栈(Stack)是一种后进先出(LIFO)的数据结构,用于存储方法的局部变量、执行环境和返回地址。Java提供了`java.util.Stack`类来实现堆栈的功能。以下是使用`java.util.Stack`类的基本方法:
创建堆栈
```java
Stack stack = new Stack();
```
压栈(Push)
将一个元素添加到堆栈的顶部。
```java
stack.push("zhangsan");
stack.push("lisi");
stack.push("wangwu");
```
出栈(Pop)
移除并返回堆栈顶部的元素。如果堆栈为空,则抛出`EmptyStackException`异常。
```java
String item = stack.pop();
```
查看栈顶元素(Peek)
返回堆栈顶部的元素,但不移除它。如果堆栈为空,则抛出`EmptyStackException`异常。
```java
String topItem = stack.peek();
```
检查堆栈是否为空(Empty)
如果堆栈中没有任何元素,则返回`true`,否则返回`false`。
```java
boolean isEmpty = stack.empty();
```
获取堆栈中元素的位置(Search)
返回指定对象在堆栈中的位置,以1为基数。如果对象是堆栈中的一项,则返回其距离栈底的距离。
```java
int position = stack.search("lisi");
```
```java
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
Stack
// 压栈
stack.push("zhangsan");
stack.push("lisi");
stack.push("wangwu");
// 查看栈顶元素
System.out.println("栈顶元素: " + stack.peek());
// 出栈
System.out.println("出栈元素: " + stack.pop());
// 检查堆栈是否为空
System.out.println("堆栈是否为空: " + stack.empty());
// 获取堆栈中元素的位置
System.out.println("元素 'lisi' 的位置: " + stack.search("lisi"));
}
}
```
运行上述代码,输出将会是:
```
栈顶元素: wangwu
出栈元素: wangwu
堆栈是否为空: false
元素 'lisi' 的位置: 2
```
通过这些方法,你可以使用Java中的堆栈数据结构来存储和操作数据。