LinkedHashMap是HashMap的一个子类,它在内部维护了一个双向链表,使用该链表来维护元素的插入顺序或者访问顺序(可以根据构造函数传入的参数来决定是按照插入顺序还是访问顺序来排序)。
LinkedHashMap可以保持元素的插入顺序或访问顺序,这使得其在某些场景下非常有用,比如LRU缓存算法,LRU缓存通常会使用LinkedHashMap来实现。
LinkedHashMap的常用方法包括put、get、remove等,其用法和HashMap类似,但是可以保持元素的顺序。LinkedHashMap还提供了一些额外的方法,如entrySet、keySet、values等,用于获取LinkedHashMap中的元素。
import java.util.LinkedHashMap;
public class TestLinkedHashMap {
public static void main(String[] args) {
LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();
linkedHashMap.put("apple", 1);
linkedHashMap.put("banana", 2);
linkedHashMap.put("orange", 3);
for (String key : linkedHashMap.keySet()) {
System.out.println(key + " : " + linkedHashMap.get(key));
}
}
}
上述代码演示了LinkedHashMap的基本用法,将元素按插入顺序存储,在遍历时可以保持该顺序。