Java中的堆栈API——Stack

        堆栈(stack)是线性表的一种,只能在该线性表的表尾进行插入、获取或删除的操作。该线性表具有LIFO(后进先出)的特点,那么Java中如何实现这一功能呢,呵呵呵,Java已经为我们提供了API——Stack,Stack类继承Vector类。下面通过一个例子来认识一下该API:

import java.util.Stack;

public class TestStack {

	public static void main(String[] args) {
		Stack<String> stack = new Stack<String>();
		stack.push("a");//将数据压入堆栈顶部,其作用于下面addElement一样
		stack.addElement("b");
		stack.push("c");
		stack.push("d");
		stack.push("e");
		if(!stack.empty()){//判断堆栈是否为空
			System.out.println(stack.peek());//输出e。获取堆栈顶部的对象(Vector 对象的最后一项),但不从堆栈中移除该对象,如果堆栈为空,则抛出EmptyStackException异常
			System.out.println(stack.pop()); //输出e。获取堆栈顶部的对象(Vector 对象的最后一项),并从堆栈顶部移除该对象,如果堆栈为空,则抛出EmptyStackException异常
			System.out.println(stack.pop()); //输出d。
			System.out.println(stack.search("c"));//获取指定对象在堆栈中的位置,以 1 为基数,如果没有则返回-1
		}
	}
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。