java 队列 入出方法汇总

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异常

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章