Java 教程

Java 控制语句

面向对象编程

Java 内置类

Java 文件处理

Java 错误和异常

Java 多线程

Java 同步

Java 网络

Java 集合

Java 接口

Java 数据结构

Java 集合算法

高级 Java

Java 杂项

Java API 和框架

Java 类引用

Java 有用资源

Java - Stack 类



Stack 是 Vector 的一个子类,它实现了标准的后进先出栈。

Stack 只定义了默认构造方法,它创建一个空栈。Stack 包括 Vector 定义的所有方法,并添加了一些它自己的方法。

Stack( )

除了从其父类 Vector 继承的方法外,Stack 还定义了以下方法:

序号 方法和描述
1 boolean empty()

此方法测试此栈是否为空。

2 E peek()

此方法查看此栈顶部的对象,而不将其从栈中移除。

3 E pop()

此方法移除此栈顶部的对象,并将该对象作为此函数的值返回。

4 E push(E item)

此方法将一个项目压入此栈的顶部。

5 int search(Object o)

此方法返回对象在此栈中的基于 1 的位置。

示例

以下程序说明了此集合支持的几种方法:

import java.util.*;
public class StackDemo {

   static void showpush(Stack st, int a) {
      st.push(new Integer(a));
      System.out.println("push(" + a + ")");
      System.out.println("stack: " + st);
   }

   static void showpop(Stack st) {
      System.out.print("pop -> ");
      Integer a = (Integer) st.pop();
      System.out.println(a);
      System.out.println("stack: " + st);
   }

   public static void main(String args[]) {
      Stack st = new Stack();
      System.out.println("stack: " + st);
      showpush(st, 42);
      showpush(st, 66);
      showpush(st, 99);
      showpop(st);
      showpop(st);
      showpop(st);
      try {
         showpop(st);
      } catch (EmptyStackException e) {
         System.out.println("empty stack");
      }
   }
}

这将产生以下结果:

输出

stack: [ ]
push(42)
stack: [42]
push(66)
stack: [42, 66]
push(99)
stack: [42, 66, 99]
pop -> 99
stack: [42, 66]
pop -> 66
stack: [42]
pop -> 42
stack: [ ]
pop -> empty stack
java_data_structures.htm
广告

© . All rights reserved.