Java中Stack类的使用(栈)
Java中的栈虽然听说也学习过,但在实际开发却很少使用,最近在Leecode上刷算法题发现有很多的问题都使用了Stack(栈)来解决,那么我们今天再来学习一下。
Stack继承自Vector类实现了一个标准的先进后出特点的栈,下面是他在Java中的具体使用
import java.util.Stack;
public class StackTest {
public static void main(String[] args) {
Stack<Integer> stack=new Stack<>();
//将所传对象压入栈顶,每次新传的都会取代前一个成为栈顶
stack.push(1);
//peek()查看当前栈顶的元素
Integer peek = stack.peek();
System.out.println("目前栈顶元素:"+peek);
//再次传入一个对象,将会成为新的栈顶元素
stack.push(2);
Integer peek2 = stack.peek();
System.out.println("传入新元素后的栈顶元素:"+peek2);
//empty()判断当前栈是否为空
boolean empty = stack.empty();
System.out.println("目前栈是否为空:"+empty);
//pop()删除并返回当前栈顶的元素
Integer pop = stack.pop();
System.out.println("删除第一个栈顶元素:"+pop);
Integer pop2 = stack.pop();
System.out.println("删除第二个栈顶元素:"+pop2);
boolean empty1 = stack.empty();
System.out.println("删除所有元素后,栈以空"+empty1);
}
}
运行代码后的结果为