Java中的queue和deque
2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
1、Queue
? ? ? 隊列, 一種常用的數(shù)據(jù)結(jié)構(gòu),可以將隊列看做是一種特殊的線性表,該結(jié)構(gòu)遵循的先進(jìn)先出原則。Java中,LinkedList實現(xiàn)了Queue接口,因為LinkedList進(jìn)行插入、刪除操作效率較高?
? ? ? 相關(guān)方法:?
? ? ? boolean offer(E e):將元素追加到隊列末尾,若添加成功則返回true。?
? ? ? E poll():從隊首刪除并返回該元素。?
? ? ? E peek():返回隊首元素,但是不刪除?
? ? ? 示例:
運行結(jié)果:?
[one, two, three, four]?
one?
[two, three, four]?
two?
[two, three, four]?
two?
three?
four
2、Deque
? ? ? ?雙向隊列,指該隊列兩端的元素既能入隊(offer)也能出隊(poll),如果將Deque限制為只能從一端入隊和出隊,則可實現(xiàn)棧的數(shù)據(jù)結(jié)構(gòu)。對于棧而言,有入棧(push)和出棧(pop),遵循先進(jìn)后出原則
? ? ? 常用方法如下:?
? ? ? void push(E e):將給定元素”壓入”棧中。存入的元素會在棧首。即:棧的第一個元素?
? ? ? E pop():將棧首元素刪除并返回。?
? ? ? 示例:
運行結(jié)果:?
[c, b, a]?
c?
[c, b, a]?
c?
b?
a?
[]
轉(zhuǎn)載于:https://my.oschina.net/u/3496297/blog/1618891
總結(jié)
以上是生活随笔為你收集整理的Java中的queue和deque的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java网络编程之Socket编程
- 下一篇: Javascript获取数组中的最大值和