Stack与Collection的关系
public class Stack extends Vector Stack继承自Vector,底层实现为数组。
Stack方法
Java中Stack只有一个无参构造函数。 不包括从Vector中继承的方法,Stack另有五种方法,包括:
boolean、empty() 、测试堆栈是否为空。 E、peek()、查看堆栈顶部的对象,但不从堆栈中移除它。 E、pop()、移除堆栈顶部的对象,并作为此函数的值返回该对象。 E、push(E item)、把项压入堆栈顶部。 int、search(Object o)、返回对象在堆栈中的位置,栈顶元素下标为1。 如果对象在栈中不存在,返回-1。
Stack应用实例
package com.tsui.demo;
import java.util.Stack;
/**
* 测试Stack
*/
public class TestStack {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<Integer>();
//测试堆栈是否为空
System.out.println(stack.empty());//true
//把项压入堆栈顶部
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);
stack.push(5);
//查看堆栈顶部的对象,但不从堆栈中移除它
System.out.println(stack.peek());//5
//移除堆栈顶部的对象,并作为此函数的值返回该对象
System.out.println(stack.pop());//5
System.out.println(stack.pop());//4
//判断指定元素是否在栈中,如果在返回1,不在返回-1。
System.out.println(stack.search(2));//2
System.out.println(stack.search(6));//-1
}
}