linkedHashMap.getLastEntry() 源码
时间: 2024-06-15 18:09:38 浏览: 5
LinkedHashMap.getLastEntry() 方法是用于获取 LinkedHashMap 中最后一个键值对的方法。下面是该方法的源码实现:
```java
// 获取最后一个键值对
public Entry<K,V> getLastEntry() {
// 如果 LinkedHashMap 为空,则返回 null
if (size == 0) {
return null;
}
// 如果 accessOrder 为 true,即按访问顺序排序
if (accessOrder) {
// 遍历双向链表,找到最后一个节点并返回
for (Entry<K,V> e = tail; e != null; e = e.before) {
if (e.value != null) {
return e;
}
}
} else {
// 如果 accessOrder 为 false,即按插入顺序排序
// 直接返回最后一个节点
return tail;
}
return null;
}
```
该方法首先判断 LinkedHashMap 是否为空,如果为空则直接返回 null。然后根据 accessOrder 的值来决定是按访问顺序还是按插入顺序来查找最后一个节点。如果 accessOrder 为 true,即按访问顺序排序,则从双向链表的尾部开始遍历,找到第一个值不为 null 的节点并返回。如果 accessOrder 为 false,即按插入顺序排序,则直接返回双向链表的尾节点。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)