- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在 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/
我正在使用 Spring 的 RestTemplate 获取 HTTP header 。 HTTP headers are case insensitive ,但是 documentation for
本文整理了Java中org.zeromq.ZMsg.getFirst()方法的一些代码示例,展示了ZMsg.getFirst()的具体用法。这些代码示例主要来源于Github/Stackoverflo
这更像是一个设计层面的问题。我有一个持久类,它通过 SQL 查询从数据库中查询记录,并通过一个名为 getNext() 的成员函数返回给调用者,该函数的签名如下: int getNext(); //
Iterables为 getLast 提供两种方法 public static T getLast(Iterable iterable); public static T getLast(It
query.getFirst() 真正返回什么? Retrieves at most one ParseObject that satisfies this query. Uses the netwo
我是一名业余程序员,我正在尝试在 java 中创建一个方法,该方法允许我返回数组列表中名字首字母相同的所有内容。使用这样的代码,我不断收到错误“无法在原始类型 char 上调用 getFirst()”
LinkedList element() 方法和 getFirst() 方法有类似的描述(奇怪的是 - 不是同一个词)。 Deque明确指出这两种方法在返回值和异常方面是相同的。 我的问题是 - 为什
这是我的代码: public class FlightMap implements FlightMapInterface { LinkedList cityList = new LinkedList(
这个问题在这里已经有了答案: Why there is no getFirst(iterable) method? (2 个回答) 关闭6年前. 来自 Google Guava JavaDoc for
我是一名优秀的程序员,十分优秀!