您的位置:首页 > 编程语言 > Java开发

Java中的栈Stack

2015-08-11 14:43 381 查看
栈的特点:

1.栈(Stack)实现了一个后进先出(LIFO)的数据结构。只能在一端进行插入(称为"压栈") 或删除 (称为"出栈")数据的操作。当你从栈中取元素的时候,就从栈顶取一个元素。也就是,最后进栈的元素最先被取出。不是也有先进先出的数据结构局吗?有,但是这个Stack是实现了先进后出!

2.栈是Vector的子类。 public class Stack extends vector

3.栈只定义了默认构造函数:Stack(),用来创建一个空栈。 栈除了包括由Vector定义的所有方法,也定义了自己的一些方法。

序号方法描述
1boolean empty()

测试栈是否为空。
2Object peek( )

查看栈顶部的对象,但不从堆栈中移除它。
3Object pop( )

查看顶部对象,并移除栈顶部的对象,并作为此函数的值返回该对象。
4Object push(Object element)

把项压入栈顶部。
5int search(Object element)

返回对象在栈中的位置,以 1 为基数。
注:注意上面的peek()方法和pop()方法的区别!


实例

下面的程序说明这个集合所支持的几种方法

import java.util.Stack;

public class StackTest {

public static void main(String[] args) {

Stack<String> stack = new Stack<String>();

System.out.println("now the stack is " + isEmpty(stack));

stack.push("1");

stack.push("2");

stack.push("3");

stack.push("4");

stack.push("5");

System.out.println("now the stack is " + isEmpty(stack));

System.out.println(stack.peek());

System.out.println(stack.pop());

System.out.println(stack.pop());

System.out.println(stack.search("2"));

}

public static String isEmpty(Stack<String> stack) {

return stack.empty() ? "empty" : "not empty";

}

}

输出为:

now the stack is not empty

5

5

4

2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: