add(e) | offer(e) | put(e) | offer(e,time,unit) |
添加元素到队列中,如果队列满了,继续插入元素会报错, IllegalStateException | 添加元素到队列,同时会返回元素是否插入成功的状态,如果成功则返回 true | 当阻塞队列满了以后,生产者继续通过 put添加元素,队列会一直阻塞生产者线程,知道队列可用 | 当阻塞队列满了以后继续添加元素,生产者线程会被阻塞指定时间,如果超时,则线程直接退出 |
remove() | poll() | take() | poll(e,time,unit) |
当队列为空时,调用 remove 会返回 false,如果元素移除成功,则返回 true | 当队列中存在元素,则从队列中取出一个元素,如果队列为空,则直接返回 null | 基于阻塞的方式获取队列中的元素,如果队列为空,则 take 方法会一直阻塞,直到队列中有新的数据可以消费 | 带超时机制的获取数据,如果队列为空,则会等待指定的时间再去获取元素返回 |
peek() 获取队列的头但不移除此队列的头。如果此队列为空,则返回 null
element() 获取队列的头但不移除此队列的头。如果此队列为空,则将抛出NoSuchElementException异常