Java中Queue和Deque的介面說明
阿新 • • 發佈:2019-01-09
1. Queue:
1.1 基本概念
佇列(queue)是一種常用的資料結構,可以將佇列看做是一種特殊的線性表,該結構遵循的先進先出原則。Java中,LinkedList實現了Queue介面,因為LinkedList進行插入、刪除操作效率較高。
1.2 常用方法:
offer(e):將元素追加到佇列末尾,若新增成功則返回true。
poll():從隊首刪除並返回該元素。
peek():返回隊首元素,但是不刪除 。
1.3 其他
完全符合佇列的特徵,根據常用的操作方法使用起來很簡單。
2. Deque(詳細講解)
2.1 基本概念
雙向佇列(Deque),是Queue的一個子介面,雙向佇列是指該佇列兩端的元素既能入隊(offer)也能出隊(poll);
如果將Deque限制為只能從一端入隊和出隊,則可實現棧
2.2 常用方法
2.2.1 雙端佇列:在頭部、尾部進行插入、刪除、獲取元素,和 Queue類似;
add(e)\offer(e):將元素追加到佇列末尾,若新增成功則返回true。
remove()\poll():從隊首刪除並返回該元素。
element()\peek():返回隊首元素,但是不刪除 。
2.2.2 棧:這時入棧、出棧元素都是在 雙端佇列的頭部 進行。
push(e):入棧。
pop():出棧。
peek():返回隊首元素,但是不刪除 。