Java中Stack的elements()方法及示例
在Java中,Stack
是继承自Vector
的数据结构,它表示后进先出(LIFO)的栈。在栈中,元素的插入和删除只能在栈顶进行。Stack
类中提供了许多方法来操作栈,其中 elements()
方法用于返回枚举类型集合中的所有元素,即将栈元素以枚举的形式返回。
elements()
方法用法
elements()
方法用于返回 Stack
中的所有元素,该方法返回一个 Enumeration
实例。
public Enumeration<E> elements()
其中,E
是表示栈元素类型的泛型参数,例如将 Integer
作为栈元素类型时,可以使用以下代码创建一个栈:
Stack<Integer> stack = new Stack<>();
调用 stack.elements()
方法之后,将返回一个 Enumeration
实例。可以使用 hasMoreElements()
方法和 nextElement()
方法,来遍历枚举对象中所有的栈元素。
Enumeration<Integer> stackElements = stack.elements();
while (stackElements.hasMoreElements()) {
System.out.println(stackElements.nextElement());
}
示例代码
下面是一个具有 elements()
方法的栈的示例代码,展示了如何向栈中添加元素,并使用 elements()
方法遍历栈元素。
import java.util.Enumeration;
import java.util.Stack;
public class StackDemo {
public static void main(String[] args) {
// 创建一个整型栈
Stack<Integer> stack = new Stack<>();
// 将元素依次加入栈
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);
// 遍历栈元素并打印输出
Enumeration<Integer> stackElements = stack.elements();
while (stackElements.hasMoreElements()) {
System.out.println(stackElements.nextElement());
}
}
}
运行上面的代码,将输出以下结果:
1
2
3
4
结论
elements()
方法返回一个枚举类型集合中的所有元素,可以方便地遍历 Stack
类型中的所有元素。需要注意的是,由于在Java 8中已经不再推荐使用 Vector
和 Stack
类,因此应优先考虑使用 Java 集合框架中的 Deque
类来实现栈数据结构。