java数据结构(3) 栈Stack
1.Stack栈的概念
栈是一种后进先出的线性表。
2.Stack的6个方法的使用
- Stack() 无参构造
- push(item) 将元素压栈 push(item)
- pop() 栈顶元素出栈 栈空时抛出异常 EmptyStackException
- peek() 查看栈顶元素,但并不将其出栈栈空时抛出异常 EmptyStackException
- empty() 检查栈是否为空 返回boolean类型参数
- search(Object o) 查看元素位置 栈顶为1 不在栈中返回-1
3.栈的简单使用
package Stack;
import java.util.Stack;
/**
* 栈 导包使用:import java.util.Stack
* 栈继承关系 :class Stack<E> extends Vector<E>
* 无参构造 Stack()
* 将元素压栈 push(item)
* 栈顶元素出栈 pop() 栈空时抛出异常 EmptyStackException
* 查看栈顶元素,但并不将其出栈 peek() 栈空时抛出异常 EmptyStackException
* 检查栈是否为空 empty() 返回boolean类型参数
* 查看元素位置 search(Object o) 栈顶为1 不在栈中返回-1
*
*/
public class StackTest {
public static void main(String[] args) {
Stack stack=new Stack();
System.out.println("将 1 2 3 依次压栈");
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println("元素 1 的位置search:"+stack.search(1));
System.out.println("栈顶元素出栈pop:"+stack.pop());
System.out.println("查看栈顶元素peek:"+stack.peek());
System.out.println("peek后的栈顶元素出栈,使用pop:"+stack.pop());
System.out.println("栈是否为空empty:"+stack.empty());
System.out.println("元素 1 的位置search:"+stack.search(1));
}
}
运行效果