java如何引用stack
如何在Java中使用Stack
Java中可以使用java.util.Stack类来实现栈(Stack)数据结构。栈是一种后进先出(LIFO)的数据结构,支持基本的压栈(push)、弹栈(pop)、查看栈顶元素(peek)等操作。
导入Stack类
import java.util.Stack;
创建Stack对象
Stack<Integer> stack = new Stack<>();
基本操作
-
压栈(push):将元素添加到栈顶。

stack.push(10); stack.push(20); stack.push(30); -
弹栈(pop):移除并返回栈顶元素。
int topElement = stack.pop(); // 返回30,并从栈中移除 -
查看栈顶元素(peek):返回栈顶元素但不移除。

int peekElement = stack.peek(); // 返回20 -
检查栈是否为空(empty):
boolean isEmpty = stack.empty(); // 返回false -
搜索元素(search):返回元素在栈中的位置(从1开始计数,栈顶为1)。
int position = stack.search(10); // 返回2
示例代码
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
Stack<String> stack = new Stack<>();
stack.push("Apple");
stack.push("Banana");
stack.push("Cherry");
System.out.println("Stack: " + stack);
System.out.println("Top element: " + stack.peek());
System.out.println("Popped element: " + stack.pop());
System.out.println("Stack after pop: " + stack);
}
}
输出结果
Stack: [Apple, Banana, Cherry]
Top element: Cherry
Popped element: Cherry
Stack after pop: [Apple, Banana]
注意事项
Stack是线程安全的,但性能较低。如果需要高性能的非线程安全栈,可以使用Deque接口的实现类(如ArrayDeque)。Stack继承自Vector类,因此可以使用Vector的所有方法。






