美文网首页
Java 中 Queue 接口学习

Java 中 Queue 接口学习

作者: captain_fu | 来源:发表于2017-03-09 16:33 被阅读0次

Queue 

是 java中的一个接口,在java.util包下面,意在实现数据结构中的队列,主要包含以下几种接口方法。

boolean add(E e)

不超过容量限制的情况下,插入一个元素,成功返回 true,失败抛出IllegalStateException。

E element()

获得队列头元素,但是不删除该元素。如果队列空,抛出NoSuchElementException。

boolean offer(E e)

和 add 相同。

E peek()

和 element 相同,如果队列空,返回 null。

E poll()

和 peek 类似,但是移除队列头元素。

E remove()

返回和移除队列头元素。队列空抛出NoSuchElementException异常。

AbstractQueue

java.uti包下面,实现了 Queue 接口的一个抽象类。继承自AbstractCollection。

LinkedBlockingQueue

java.util.concurrent包下面,继承自AbstractQueue,同时实现了AbstractQueue 和 Serilizable 接口。

如果不传入大小,LinkedBlockingQueue默认大小是Integer.MAX_VALUE=0x7fffffff.

int remainingCapacity() 

剩余可用容量。

void put(E e) 

元素放入队尾,如果队列满,等待。e 为 null 会抛出 NPE。

void offer(E e, long timeout, TimeUnit unit)

元素放入队尾,超时返回 false。

boolean offer(E e)

不等待时间,成功 true,失败 false。

E take()

获得并移除队列头元素,队列空则等待。

E poll()

获得并移除队列头元素,队列空返回 null

E poll(longtimeout, TimeUnit unit)

获得并移除队列头元素,超时返回 null

E peek()

获取头元素,不删除,队列空返回 null。

boolean remove(Object o)

删除和 o equal 的元素。

boolean contains(Object o)

返回是否包含和o equal 的元素

int drainTo(Collection c)

元素转入 c 中,比 poll 高效。

int drainTo(Collection c, int maxElements)

最多 maxElements 个元素转入 c 中。

Spliterator spliterator()

把集合分段,用于并行遍历使用,相对于线性遍历接口 Iterator,java8引入。其他暂未理解,下次更新。

相关文章

网友评论

      本文标题:Java 中 Queue 接口学习

      本文链接:https://www.haomeiwen.com/subject/psnwgttx.html