java中的linkhashmap
时间: 2023-08-29 19:13:14 浏览: 44
LinkedHashMap 是 Java 中的一种数据结构,它是 HashMap 的一个子类,具有 HashMap 的所有特性,同时还维护了一个双向链表,用于维护插入顺序或者 LRU(Least Recently Used)顺序。
与 HashMap 不同的是,LinkedHashMap 维护了一个双向链表,用于存储元素的插入顺序或者访问顺序。在默认情况下,LinkedHashMap 以插入顺序维护元素,也可以通过构造函数指定为访问顺序,即最近访问的元素排在链表头部,最久未访问的元素排在链表尾部。这个特性可以用于实现 LRU 缓存。
LinkedHashMap 的主要方法和 HashMap 相似,同时还提供了一些与双向链表相关的方法,例如getFirst、getLast、removeFirst、removeLast等。
以下是一个示例代码:
```
import java.util.LinkedHashMap;
import java.util.Map;
public class LinkedHashMapExample {
public static void main(String[] args) {
// 创建一个按插入顺序排序的 LinkedHashMap
Map<String, Integer> map = new LinkedHashMap<>();
// 插入元素
map.put("apple", 100);
map.put("banana", 200);
map.put("orange", 150);
// 输出元素
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
输出结果:
```
apple: 100
banana: 200
orange: 150
```