栈概念
栈是一种只允许在一端进行插入或删除的线性表。
1、栈的操作端通常被称为栈顶,另一端被称为栈底。
2、栈的插入操作称为进栈(压栈|push);栈删除操作称为出栈(弹栈|pop)。
栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。
特点:栈就像一个杯子,我们只能从杯口放和取,LIFO(后进先出
存储概念
顺序存储的栈称为顺序栈;
链式存储的栈称为链式栈。
代码实现
//初始化stack
Stack stack = new Stack
//判断是否为空
stack.empty()
//取栈顶值(不出栈)
stack.peek()
//进栈
stack.push(object)
//出栈
stack.pop()
// 实例
public class Test01 {
public static void main(String[] args) {
Stack stack=new Stack();
//1.empty()栈是否为空
System.out.println(stack.empty());
//2.peek()栈顶值 3.进栈push()
stack.push(new Integer(1));
stack.push("b");
System.out.println(stack.peek());
//4.pop()出栈
stack.pop();
System.out.println(stack.peek());
}
}