一、认识Stack
顾名思义,Stack代表是栈,栈是一种常用的数据结构,只能栈头插入元素,也只能从栈头出栈(遵循先进后出原则)。
栈好比手枪上弹夹的过程,最开始上的子弹会被压在最下面,最晚上的子弹反而最先被打出去。
二、Stack类的使用
我们先来看看Stack在java集合体系中的位置
如图所示,Stack作为Vector的子类,也就是说Stack类拥有Vector的所有方法。
Stack类的方法(不包含从Vector继承来的方法)
返回值 | 方法 | 描述 |
---|---|---|
boolean | empty() | 判断栈是否为空 |
E | peek() | 查看当前的栈顶元素 |
E | pop() | 删除当前的栈顶元素,并将其作为返回值返回 |
E | push(E e) | 添加该数据到栈顶 |
int | search(object o) | 若是栈顶,返回1,栈顶下一个,返回2,依次增加。找不到返回-1 |
我们来简单地一下测试代码:
package com.rong.question;
import java.util.Stack;
public class StackTest {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<Integer>();
System.out.println("栈是否为空:"+stack.empty());//判断是否为空
stack.push(2);//添加元素
stack.push(4);
stack.push(6);
System.out.println("栈顶:"+stack.peek());//用peek()查看当前栈顶元素
System.out.println("删除:"+stack.pop());//用pop()删除当前栈顶元素
System.out.println("栈顶:"+stack.peek());//用peek()查看当前栈顶元素
System.out.println("查找4:"+stack.search(4));//用serach查找元素
}
}