本文簡單記錄一下關於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