java Queue中 remove/poll/take, add/offer/put, element/peek区别

方法 作用 差别 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。该方法是不阻塞的
经验分享 程序员 微信小程序 职场和发展