gpt4 book ai didi

java - Java的LinkedList中getFirst()和peekFirst()有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:51 24 4
gpt4 key购买 nike

在 Java 的 LinkedList 实现中,我看到两个方法在我看来具有相同的功能。

getFirst() --返回列表中的第一个元素。

peekFirst() -- 检索但不删除此列表的第一个元素,如果此列表为空则返回 null。

他们都获得了指向 LinkedList 中第一个元素的指针,而不对其进行任何更改。那么,有什么区别呢?

我看到的唯一区别是,如果列表为空,peekFirst 返回 null,而 getFirst 抛出 NoSuchElementException 如果列表为空。这样的设计模式有什么用?

最佳答案

Java 介绍 LinkedList在 1.2 版中。这是 getFirst 的时候提供了方法。此消息抛出 NoSuchElementException当列表为空时,导致程序员在调用前进行额外检查:

Element e = null;
if (!myList.isEmpty()) {
e = myList.getFirst();
}

这是一个不便之处,已在 Java 1.6 版中通过添加 peekFirst 修复。 Dequeue<T>的方法和其他方法界面。

关于java - Java的LinkedList中getFirst()和peekFirst()有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23927887/

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