簡體   English   中英

Deque中remove()和pop()的區別

[英]In Deque, difference between remove() and pop()

這段代碼:

    Deque<String> list = new LinkedList<>();
    list.push("first");
    list.push("second");
    list.push("third");
    
    System.out.println(list.remove());

相當於:

    Deque<String> list = new LinkedList<>();
    list.push("first");
    list.push("second");
    list.push("third");
    
    System.out.println(list.pop());

pop() 和 remove() 都刪除第一個元素(頭)。 那么,有兩種不同方法的原因是什么?

它與遺留接口有關。 javadoc

雙端隊列也可以用作 LIFO(后進先出)堆棧。 應優先使用此接口而不是遺留 Stack 類。 當雙端隊列用作堆棧時,元素從雙端隊列的開頭被壓入和彈出。 堆棧方法與 Deque 方法完全等效,如下表所示:

Stack 和 Deque 方法的比較

Stack Method | Equivalent Deque Method
push(e) | addFirst(e)
pop() | removeFirst()
peek() | peekFirst()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM