栈的概念
一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则
压栈
栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。
出栈
栈的删除操作叫做出栈。出数据在栈顶。
JAVA集合类对应的栈(Stack)
向栈中存放元素:stack.push();
获取栈顶元素:stack.peek();
删除栈顶元素(返回值为删除的元素):stack.pop();
Stack<Integer> stack = new Stack<>();//创建一个栈
//向栈中存放1,2,3个元素
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println(stack.peek());//获取栈顶元素 但是不删除 结果为3
System.out.println(stack.pop());//弹出栈顶元素 删除 结果为3
System.out.println(stack.peek());//获取栈顶元素 但是不删除 结果为2
System.out.println(stac