HashMap análisis en profundidad

estructura de datos subyacente

lista de arreglo 1,7 +

Pensamiento: ¿Por qué no una lista doblemente enlazada

 

1.8+ gama de lista + rojo-negro árbol +

 

Algunas variables importantes

// defecto capacidad inicial 16 
estáticos finales int = DEFAULT_INITIAL_CAPACITY 1. << 4. ; 
 // capacidad máxima 
estática final int MAXIMUM_CAPACITY = 1. << 30 ;
 // predeterminado factor de carga 0,75 
estática final un flotador DEFAULT_LOAD_FACTOR = 0.75f ;
 // Árbol de la umbral, cuando la bañera está lista mayor de 8 nodos, la lista se convierte en árbol rojo-negro 
estática final int TREEIFY_THRESHOLD = 8 ;
 // cuando la lista de árbol degenerado rojo-negro como un valor de umbral, y cuando el cubo es inferior a un árbol rojo-negro nodos 6, árbol rojo-negro en una lista enlazada de 
estática final int= UNTREEIFY_THRESHOLD . 6 ;
 // capacidad mínima del árbol, un árbol del tiempo, y una vez determinado, sólo el número de conversión de claves-valor es mayor que ocurrirá 64,
 // Esto es para evitar el establecimiento temprano de la tabla hash, múltiple pares de valores clave simplemente sido colocados con una conversión lista y plomo a innecesaria 
estática final int MIN_TREEIFY_CAPACITY = 64 ;

 


Continúa ~~~

 

Referencia: https://blog.csdn.net/samniwu/article/details/90550196

Supongo que te gusta

Origin www.cnblogs.com/amberJava/p/12514810.html
Recomendado
Clasificación