方法 | 作用 | 差别 |
---|---|---|
remove | 删除队列里面指定元素 | 有则删除返回 true,没有则返回 false |
poll | 移除并返问队列头部的元素 | 如果队列为空,则返回null。该方法是不阻塞的 |
take | 移除并返回队列头部的元素 | 如果队列为空则阻塞调用线程。如果队列为空则阻塞当前线程直到队列不为空然后返回元素,如果在阻塞的时候被其它线程设置了中断标志,则被阻塞线程会抛出 InterruptedException 异常而返回。 |
add | 增加一个元素 | 如果队列已满,则抛出一个IIIegaISlabEepeplian异常 |
offer | 添加一个元素并返回true | 如果队列已满,则返回false。如果 e 元素为 null 则抛出 NullPointerException 异常。该方法不阻塞 |
put | 添加一个元素并返回true | 如果队列已满则阻塞当前线程直到队列有空闲插入成功后返回 true,如果在阻塞的时候被其它线程设置了中断标志,则被阻塞线程会抛出 InterruptedException异常而返回,另外如果 e 元素为 null 则抛出 NullPointerException 异常 |
element | 返回队列头部的元素 | 如果队列为空,则抛出一个NoSuchElementException异常 |
peek | 返回队列头部的元素 | 如果队列为空,则返回null。该方法是不阻塞的 |
java Queue中 remove/poll/take, add/offer/put, element/peek区别
最新推荐文章于 2023-09-14 13:34:47 发布