java栈的使用

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



    }
}

 

posted @ 2020-04-14 11:39  JesseKwok  阅读(1280)  评论(0)    收藏  举报