Java Stack 类
提示
- Stack类基础:
Stack
类是Java集合框架的一部分,提供栈数据结构的功能,并继承自Vector
类。 - 栈的特性和实现:栈实现了后进先出(LIFO)的原则,其中元素被添加和移除都在栈的顶部进行。
- Stack类的关键方法:
Stack
提供了特殊的方法如push()
添加元素、pop()
移除元素、peek()
查看栈顶元素、search()
查找元素位置以及empty()
判断栈是否为空。建议使用ArrayDeque
替代Stack
进行栈实现。
Java 集合框架中有一个名为 Stack
的类,提供了栈数据结构的功能。
Stack
类扩展了 Vector
类。
栈的实现
在栈中,元素是按照后进先出的方式存储和访问的。也就是说,元素被添加到栈的顶部,并从栈的顶部移除。
创建一个栈
为了创建一个栈,我们首先必须导入 java.util.Stack
包。导入包之后,下面是我们如何在 Java 中创建一个栈的方法。
Stack<Type> stacks = new Stack<>();
这里,Type
表示栈的类型。例如,
// 创建 Integer 类型的栈
Stack<Integer> stacks = new Stack<>();
// 创建 String 类型的栈
Stack<String> stacks = new Stack<>();
Stack 方法
由于 Stack
继承了 Vector
类,它继承了所有 Vector
的方法。要了解不同的 Vector
方法,请访问 Java Vector 类。
除了这些方法之外,Stack
类还包含 5 个方法,使其区别于 Vector
。
push() 方法
要将元素添加到栈顶,我们使用 push()
方法。例如,
import java.util.Stack;
class Main {
public static void main(String[] args) {
Stack<String> animals= new Stack<>();
// 向栈中添加元素
animals.push("Dog");
animals.push("Horse");
animals.push("Cat");
System.out.println("栈: " + animals);
}
}
输出
栈: [Dog, Horse, Cat]
pop() 方法
要从栈顶移除元素,我们使用 pop()
方法。例如,
import java.util.Stack;
class Main {
public static void main(String[] args) {
Stack<String> animals= new Stack<>();
// 向栈中添加元素
animals.push("Dog");
animals.push("Horse");
animals.push("Cat");
System.out.println("初始栈: " + animals);
// 移除栈顶元素
String element = animals.pop();
System.out.println("移除的元素: " + element);
}
}
输出
初始栈: [Dog, Horse, Cat]
移除的元素: Cat