gpt4 book ai didi

java-8 - 链表 .echo() 与 .peek() 的区别

转载 作者:行者123 更新时间:2023-12-01 09:43:29 25 4
gpt4 key购买 nike

在 oracle Java 文档中:https://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html :

.element() "检索但不删除此列表的头部(第一个元素)。"

.peek() "检索但不删除此列表的头部(第一个元素)。"

  1. 您是否有理由要使用 .element() 而不是 .peek()
  2. (1)的答案是“否”,为什么一个类需要两个具有相同功能的方法?

最佳答案

有4种方法。

  1. 偷看
  2. 元素
  3. 投票
  4. 移除

peekelement 的行为几乎相同,但有区别:

如果队列不包含任何元素,peek() 方法返回 null

element() 方法的行为类似于 peek(),因此它再次检索第一个元素的值而不删除它。

但是,如果列表为空,则 element() 会抛出 NoSuchElementException

最后,还有另外两种方法pollremove

poll() 方法通过从队列中移除队列的第一个元素来检索它的值。如果列表不包含任何元素,它将返回 null 但不会抛出任何异常。

remove() 方法的行为与 poll() 方法相同,因此它删除列表的第一个元素,如果列表为空,它将抛出 NoSuchElementException。

引用: http://www.davismol.net/2014/04/04/java-ocpjp7-difference-between-element-peek-poll-and-remove-methods-of-the-queue-interface/

关于java-8 - 链表 .echo() 与 .peek() 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54338392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com