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