java.lang.Object
继承者 java.util.AbstractCollection<E>
继承者 java.util.AbstractList<E>
继承者 java.util.Vector<E>
继承者 java.util.Stack<E>
实现
Serializeble,Cloneable,Iterable<E>,Collection<E>,List<E>,RandomAccess
Stack 位于java.util包,父类是Vector
首次创建堆栈时,它不包含项
方法:
boolean empty() 测试堆栈是否为空
E peek() throws EmptyStackException 查看栈顶的对象,但是不移除
E pop() throws EmptyStackException 移除栈顶对象,并且作为函数的参数返回该对象
E push(E item) 把对象压入栈顶,并且作为函数参数返回该对象
继承者 java.util.AbstractCollection<E>
继承者 java.util.AbstractList<E>
继承者 java.util.Vector<E>
继承者 java.util.Stack<E>
实现
Serializeble,Cloneable,Iterable<E>,Collection<E>,List<E>,RandomAccess
Stack 位于java.util包,父类是Vector
首次创建堆栈时,它不包含项
方法:
boolean empty() 测试堆栈是否为空
E peek() throws EmptyStackException 查看栈顶的对象,但是不移除
E pop() throws EmptyStackException 移除栈顶对象,并且作为函数的参数返回该对象
E push(E item) 把对象压入栈顶,并且作为函数参数返回该对象
E search(Object o) 返回对象在堆栈中的位置,以1为基数。返回值 -1 表示此对象不在堆栈中。
import java.util.Stack;
class StackTest
{
public static void main(String[] args)
{
Stack<String> stack = new Stack<String>();//Character
//System.out.println(stack.peek());//首次创建堆栈时,它不包含项 Exception in thread "main" java.util.EmptyStackException
stack.push("abc");//向栈中压入数据
//stack.push(1);//错误: 不兼容的类型: int无法转换为String
stack.push("bcd");
System.out.println(stack.push("cde"));
System.out.println(stack.search("abc"));//栈顶为1
while(!stack.empty()){
System.out.println(stack.pop());//移除并取出栈顶元素
//System.out.println(stack.peek());//取栈顶元素,但是不移除
}
System.out.println(stack.search("abc"));//-1 栈中不存在元素,返回-1
}
}