隊列Queue

單向隊列:一端操作
1.一般:FIFO
2.優(yōu)先隊列和堆棧:LIFO
插入:offer(e)
移除:poll()
獲?。簆eek()

雙向隊列:兩端操作
插入:offerFirst(e) offerLast(e)
移除:pollFirst() pollLast()
獲?。簆eekFirst() peekLast()

ArrayDeque測試

public class QueueTest {

    public static void main(String[] args) {
        Queue<Request> que=new ArrayDeque<Request>();
        //模擬排隊情況
        for(int i=0;i<10;i++){
            final int num=i;
            que.offer(new Request() {
                @Override
                public void deposite() {
                    System.out.println("第"+num+"個人辦理存款業(yè)務,存款額度為:"+Math.random()*10000);
                }
            });
        }
        dealWith(que);
    }

    public static void dealWith(Queue<Request> que){
        Request req=null;
        while (null!=(req=que.poll())){
            req.deposite();
        }
    }

}

interface Request{
    //存款
    void deposite();
}

自己實現堆棧


public class StackTest<E> {
    //容器
    private Deque<E> container=new ArrayDeque<E>();
    //容量
    private int cap;

    public StackTest(int cap) {
        this.cap = cap;
    }

    //壓棧
    public boolean push(E e){
        if(container.size()>=cap){
            return false;
        }
        return container.offerLast(e);
    }
    //彈棧
    public E pop(){
        return container.pollLast();
    }
    //獲取
    public E peek(){
        return container.peekLast();
    }

    public int size(){
        return this.container.size();
    }

    public static void main(String[] args) {
        StackTest<String> backHistory=new StackTest<String>(3);
        backHistory.push("www.baidu.com");
        backHistory.push("www.google.com");
        backHistory.push("www.163.com");
        backHistory.push("www.sina.com");

        System.out.println(backHistory.size());

        String item=null;
        while (null!=(item=backHistory.pop())){
            System.out.println(item);
        }

    }
}```
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容