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()); } }