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的基本用法,將元素按插入順序存儲,在遍歷時可以保持該順序。