1. 程式人生 > 其它 >雙端佇列Deque java

雙端佇列Deque java

技術標籤:leetcode刷題筆記queuejavaiterator佇列

Deque支援在兩端插入和移除元素。名稱 deque 是“double ended queue(雙端佇列)”的縮寫,通常讀為“deck”。

函式名新增功能
push(E)向隊頭插入一個元素
offerFirst(E)向佇列頭部加入一個元素
offerLast(E)向佇列尾部加入一個元素
函式名獲取功能
peekFirst()獲取佇列頭部元素
peekLast()獲取佇列尾部元素
函式名刪除功能
removeFirstOccurrence(Object)刪除第一次出現的指定元素
removeLastOccurrence(Object)刪除最後一次出現的指定元素
函式名彈出功能
pop()彈出佇列頭部元素
removeFirst()彈出佇列頭部元素
removeLast()彈出佇列尾部元素
pollFirst()彈出佇列頭部元素
pollLast()彈出佇列尾部元素
函式名迭代器
descendingIterator()返回佇列反向迭代器
import java.util.Deque;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;

class test {
    public static void main(String[
] args) { Deque<Integer> deque = new LinkedList<>(); deque.offerLast(5); // 向隊尾插入5 deque.offerFirst(3); // 向隊頭插入3 deque.offerLast(12); // 此時狀態 3,5,12 // 正向遍歷佇列 Iterator<Integer> iterator1 = deque.iterator(); while (iterator1.
hasNext()){ System.out.print(iterator1.next() + " "); } System.out.println(""); // 反向遍歷 Iterator<Integer> iterator2 = deque.descendingIterator(); while (iterator2.hasNext()){ int a = iterator2.next(); System.out.print(a + " "); } } }

輸出
在這裡插入圖片描述