队列源码解析
程序员文章站
2022-03-14 15:05:09
...
提到队列,我们最多提到的就是队列的特点:先入先出(FIFO)。意指先进入队列的元素将会优先从队列中出栈。
队列的源码相对比较简单。主要代码如下:
public interface Queue<E> extends Collection<E> {
//将元素添加到这个队列中,但是如果没有可用空间,则抛出异常IllegalStateException
boolean add(E e);
//入队
boolean offer(E e);
//移除头部或者如果队列为空。则返回null
E remove();
//出队
E poll();
//如果为空,只抛出异常,检索头部
E element();
//检索头部但不删除
E peek();
}
第一个要关注的点就是第一行,数据结构队列继承了Collection接口。
add()方法就是简单的入队,offer()方法和add()方法相比,两者都是往队列尾部插入元素,不同的时候,当超出队列界限的时候,add()方法是抛出异常让你处理,而offer()方法是直接返回false。remove()方法是取出并移除队列的头部,如果队列为空则会抛出异常。poll()方法取出并移除队列头部元素,如果队列为空则会返回null。element()方法取出但并不移除队列的头部元素,如果队列为空则会抛出异常。peek()方法取出但并不移除队列的头部元素,如果队列为空则会返回null。
下一篇: Spring 入门
推荐阅读
-
Java并发——结合CountDownLatch源码、Semaphore源码及ReentrantLock源码来看AQS原理
-
修改Zend引擎实现PHP源码加密的原理及实践
-
PHP通过反射动态加载第三方类和获得类源码的实例
-
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
-
解析获取优酷视频真实下载地址的PHP源代码_PHP教程
-
Ubuntu下源码安装MySQL-5.5.25a
-
深入解析yii权限分级式访问控制的实现(非RBAC法)
-
PHP图片加水印代码示例解析_PHP教程
-
WordPress开发中的get_post_custom()函数使用解析,wordpressgetpost_PHP教程
-
Discuz7 php源码,该如何解决