El código fuente de la entrada se usa en muchos lugares e implementa la interfaz Map.Entry

  Por ejemplo, la implementación subyacente de TreeMap se basa en árboles rojo-negros, donde cada nodo es Entrada <K, V>:

la clase final estática La entrada <K, V> implementa Map.Entry <K, V> { 
    // clave, val es la 
    clave K almacenada en los datos originales ; 
    valor V; 
    // El elemento secundario izquierdo del nodo se define 
    Entrada <K, V> izquierda ; 
    // El elemento secundario derecho del nodo se define 
    Entrada <K, V> derecho; 
    // A través de este nodo puede regresar y encontrar a su padre 
    Entrada <K, V> primario; 
    // Por defecto, es un nodo negro, ajustable 
    color booleano = NEGRO; 

    / ** 
     * Constructor 
     * / 
    Entrada (clave K, valor V, Entrada <K, V> primaria) { 
        this.key = clave; 
        this.value = value; 
        this.parent = parent; 
    } 

    / ** 
     * Obtener el valor clave del nodo 
     * / 
    public K getKey () {return key;} 
 
    / **
     * Obtener el valor del nodo
     * / 
    public V getValue () {valor de retorno;} 

    / ** 
     * 用 新 值 替换 当前 值 , 并 返回 当前 值
     * / 
    public V setValue (valor V) { 
        V oldValue = this.value; 
        this.value = value; 
        return oldValue; 
    } 

    public boolean equals (Object o) { 
        if (! (o instanceof Map.Entry)) 
            return false; 
        Map.Entry <?,?> E = (Map.Entry <?,?>) O; 
        return valEquals (key, e.getKey ()) && valEquals (value, e.getValue ()); 
    } 

    public int hashCode () {  
        int keyHash = (key == null? 0: key.hashCode () );
        int valueHash = (value == null? 0: value.hashCode ()); 
        retorno keyHash ^ valueHash; 
    }

    public String toString () { 
        tecla de retorno + "=" + valor; 
    } 
}

  

Supongo que te gusta

Origin www.cnblogs.com/dashenaichicha/p/12726659.html
Recomendado
Clasificación