LinkedHashMap 循环
时间: 2023-11-22 10:06:07 浏览: 40
LinkedHashMap是一种继承自HashMap的数据结构,它可以保持插入顺序或者访问顺序。当使用访问顺序时,每次访问一个元素时,该元素会被移动到链表的尾部,这样最近访问的元素就会排在链表的尾部,而最早访问的元素就会排在链表的头部。这个特性使得LinkedHashMap非常适合用于实现LRU缓存。LinkedHashMap的源码相对于HashMap来说并不难理解,但是需要对HashMap的源码有较好的理解基础。另外,由于LinkedHashMap继承自HashMap,因此它具有HashMap的所有特性,同样允许key和value为null。
相关问题
LinkedHashMap循环取值
LinkedHashMap是Java中的一个类,它继承自HashMap,并且保持了插入顺序。这意味着当你遍历LinkedHashMap时,它会按照元素插入的顺序返回键值对。
如果你想要循环取值,可以使用迭代器或者增强for循环来遍历LinkedHashMap。下面是一个示例代码:
```java
import java.util.LinkedHashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// 使用迭代器遍历LinkedHashMap
System.out.println("使用迭代器遍历LinkedHashMap:");
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value);
}
// 使用增强for循环遍历LinkedHashMap
System.out.println("使用增强for循环遍历LinkedHashMap:");
for (String key : map.keySet()) {
Integer value = map.get(key);
System.out.println("Key: " + key + ", Value: " + value);
}
}
}
```
输出结果为:
```
使用迭代器遍历LinkedHashMap:
Key: A, Value: 1
Key: B, Value: 2
Key: C, Value: 3
使用增强for循环遍历LinkedHashMap:
Key: A, Value: 1
Key: B, Value: 2
Key: C, Value: 3
```
通过迭代器或者增强for循环,你可以循环遍历LinkedHashMap并取得键值对的值。
循环LinkedHashMap
LinkedHashMap是HashMap的子类,它实现了HashMap的所有特性,并且多了一个双向循环链表。循环LinkedHashMap指的是遍历LinkedHashMap时,可以按照插入顺序或者访问顺序进行遍历。默认情况下,LinkedHashMap是按照插入顺序进行遍历的。如果需要按照访问顺序进行遍历,可以通过构造函数或者调用方法设置accessOrder参数为true。当accessOrder为true时,每次访问一个元素时,该元素会被移到链表的尾部,这样就可以实现按照访问顺序进行遍历了。
相关推荐
![](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)
![jpg](https://img-home.csdnimg.cn/images/20210720090814.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)