首页 > 技术文章 > Java之Queue接口中add()/offer()、remove()/poll()、element()/peek()的区别

dapengsy 2020-12-18 17:19 原文

本文简单记录一下关于Queue接口中几种类似方法的区别:

    • add() 和 offer()
      • add() : 添加元素,如果添加成功则返回true,如果队列是满的,则抛出异常
      • offer() : 添加元素,如果添加成功则返回true,如果队列是满的,则返回false
        区别:对于一些有容量限制的队列,当队列满的时候,用add()方法添加元素,则会抛出异常,用offer()添加元素,则返回false
    • remove() 和 poll()
      • remove() : 移除队列头的元素并且返回,如果队列为空则抛出异常
      • poll() : 移除队列头的元素并且返回,如果队列为空则返回null
        区别:在移除队列头元素时,当队列为空的时候,用remove()方法会抛出异常,用poll()方法则会返回null
    • element() 和 peek()
      • element() :返回队列头元素但不移除,如果队列为空,则抛出异常
      • peek() :返回队列头元素但不移除,如果队列为空,则返回null
        区别 :在取出队列头元素时,如果队列为空,用element()方法则会抛出异常,用peek()方法则会返回null

 

推荐阅读