无涯教程-Java - Stack 类函数

54 阅读1分钟

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

Stack( )

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

Sr.No. Method & Remark
1

boolean empty()

测试此堆栈是否为空。如果堆栈为空,则返回true;如果堆栈包含元素,则返回false。

2

Object peek()

返回位于堆栈顶部的元素,但不删除它。

3

Object pop()

返回堆栈顶部的元素,并在此过程中将其删除。

4

Object push(Object element)

将元素压入堆栈。元素也被返回。

5

int search(Object element)

在堆栈中搜索元素。如果找到,则返回其与堆栈顶部的偏移量。否则,返回-1。

Stack 示例

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

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

参考链接

www.learnfk.com/java/java-s…