java.util.Stack<E>
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
public class Jesse{
public static void main(String[] args) {
Stack<Integer> sta=new Stack<>();
sta.push(1);
sta.push(2);
sta.push(3);
//在堆栈中查找项并确定到堆栈顶距离的 search 方法
System.out.println(sta.search(1));//3 栈底
System.out.println(sta.search(2));//2
System.out.println(sta.search(3));//1 栈顶
System.out.println(sta.peek());
System.out.println(sta.pop());
System.out.println(sta.pop());
System.out.println(sta.pop());
System.out.println(sta.size());
}
}
Deque
接口及其实现提供了 LIFO 堆栈操作的更完整和更一致的 set,应该优先使用此 set,而非此类。例如:
Deque<Integer> stack = new ArrayDeque<Integer>();
import java.util.*; public class Jesse{ public static void main(String[] args) { Deque<Integer> sta=new ArrayDeque<>(); sta.push(1); sta.push(2); sta.push(3); //没有search()方法 // System.out.println(sta.search(1));//3 栈底 // System.out.println(sta.search(2));//2 // System.out.println(sta.search(3));//1 栈顶 System.out.println(sta.peek()); System.out.println(sta.pop()); System.out.println(sta.pop()); System.out.println(sta.pop()); System.out.println(sta.size()); } }