1. 程式人生 > >Java中Queue和Deque的介面說明

Java中Queue和Deque的介面說明

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限制為只能從一端入隊和出隊,則可實現

的資料結構。對於棧而言,有入棧(push)和出棧(pop),遵循先進後出原則。

2.2 常用方法

2.2.1 雙端佇列:在頭部、尾部進行插入、刪除、獲取元素,和 Queue類似;
add(e)\offer(e):將元素追加到佇列末尾,若新增成功則返回true。
remove()\poll():從隊首刪除並返回該元素。
element()\peek():返回隊首元素,但是不刪除 。
2.2.2 棧:這時入棧、出棧元素都是在 雙端佇列的頭部 進行。
push(e):入棧。
pop():出棧。
peek():返回隊首元素,但是不刪除 。