在Java中,栈(Stack)是一种常见的数据结构,它遵循后进先出(Last-In-First-Out,LIFO)的原则。Java提供了java.util.Stack
类来实现栈数据结构。以下是一些常见的栈操作:
void push(E element)
: 将元素压入栈顶。E pop()
: 弹出并返回栈顶元素。E peek()
: 返回栈顶元素,但不移除它。boolean empty()
: 检查栈是否为空。int search(Object element)
: 在栈中搜索指定元素,并返回它相对于栈顶的位置索引(从1开始计数),如果未找到则返回-1。以下是一个使用java.util.Stack
类的示例代码:
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
// 创建一个栈对象
Stack<Integer> stack = new Stack<>();
// 将元素压入栈顶
stack.push(10);
stack.push(20);
stack.push(30);
// 打印栈顶元素
System.out.println("Top element: " + stack.peek());
// 弹出并打印栈顶元素
int topElement = stack.pop();
System.out.println("Popped element: " + topElement);
// 打印栈的大小
System.out.println("Stack size: " + stack.size());
// 检查栈是否为空
System.out.println("Is stack empty? " + stack.empty());
// 遍历栈元素
System.out.println("Stack elements:");
for (Integer element : stack) {
System.out.println(element);
}
}
}
输出结果:
Top element: 30
Popped element: 30
Stack size: 2
Is stack empty? false
Stack elements:
20
10
这是一个简单的栈示例,展示了如何使用java.util.Stack
类进行栈操作,包括元素的压入、弹出、查看栈顶元素、检查栈是否为空以及遍历栈元素。栈在许多应用场景中非常有用,如表达式求值、深度优先搜索、括号匹配等。
原文链接:codingdict.net