HashMap análise em profundidade

estrutura de dados subjacente

lista matriz 1,7 +

Pensamento: Por que não uma lista duplamente ligada

 

1.8+ variedade de vermelho-preto árvore lista + +

 

Algumas variáveis ​​importantes

// padrão capacidade inicial de 16 
estáticos finais int DEFAULT_INITIAL_CAPACITY = 1. << 4. ; 
 // Capacidade máxima 
estática final int MAXIMUM_CAPACITY = 1. << 30 ;
 // default factor de carga de 0,75 
estática final uma bóia DEFAULT_LOAD_FACTOR = 0.75f ;
 // Árvore da limiar, quando a banheira é lista superior a 8 nós, a lista será convertido em árvore rubro-negra 
estática final int TREEIFY_THRESHOLD = 8 ;
 // quando a lista árvore degenerada rubro-negro como um valor limite, e quando o balde está a menos de uma árvore rubro-negro nodos 6, árvore rubro-negro em uma lista ligada de 
estática final int= UNTREEIFY_THRESHOLD . 6 ;
 // capacidade mínima da árvore, uma árvore do tempo, e uma vez determinado, apenas o número de conversão de valor-chave é maior do que 64 ocorrerá,
 // Isto é para evitar a rápida constituição de tabela hash, múltiplos pares chave-valor acabado de ser colocado com uma conversão lista e levar a desnecessária 
estática final int MIN_TREEIFY_CAPACITY = 64 ;

 


Continuação ~~~

 

Referência: https://blog.csdn.net/samniwu/article/details/90550196

Acho que você gosta

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