LinkedHashMap

LinkedHashMap既是一個HashMap,也是一個鏈表java

package java.util;

import java.util.function.Consumer;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.io.IOException;

public class LinkedHashMap<K,V>
    extends HashMap<K,V>
    implements Map<K,V> {
    
    static class Entry<K,V> extends HashMap.Node<K,V> {
        // LinkedHashMap的每一個Entry元素多了兩個引用
        Entry<K,V> before, after;
        Entry(int hash, K key, V value, Node<K,V> next) {
            super(hash, key, value, next);
        }
    }
    // 第一個元素
    transient LinkedHashMap.Entry<K,V> head;
    // 最後一個元素
    transient LinkedHashMap.Entry<K,V> tail;
}

// HashMap.Node
static class Node<K,V> implements Map.Entry<K,V> {
    final int hash;
    final K key;
    V value;
    Node<K,V> next;
}
相關文章
相關標籤/搜索