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



    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM