如果键的哈希值已经在数组中存在,调用equals判断是否相同,相同则覆盖。
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Documentação
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- java
- Domínio
- documentation
Direção de pesquisa
Localize a explicação de HashMap que contém o método hash() e a afirmação sobre a substituição de valores. Esclareça o comportamento documentado em relação a colisões de hash e igualdade e, em seguida, verifique se a explicação ao redor continua precisa e compreensível.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
[能说一下 HashMap 的底层数据结构吗?
不过,链表过长时,查询效率会比较低,于是当链表的长度超过 8 时(且数组的长度大于 64),链表就会转换为红黑树。红黑树的查询效率是 O(logn),比链表的 O(n) 要快。
hash() 方法的目标是尽量减少哈希冲突,保证元素能够均匀地分布在数组的每个位置上。
static final int hash(Object key) {
int h;
return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);
}
如果键的哈希值已经在数组中存在,其对应的值将被新值覆盖。
- Linguagem predominante
- Java
- Estrelas
- 17.8k
- Forks
- 2.4k
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de itwanger/toBeBetterJavaer
-
面渣逆袭Spring事务传播机制勘误Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 80/100
itwanger/toBeBetterJavaer#218 ·
-
一个笔误Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
itwanger/toBeBetterJavaer#214 ·
-
MySQL面渣内嵌链接失效Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
itwanger/toBeBetterJavaer#212 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
itwanger/toBeBetterJavaer#210 ·
-
小瑕疵~Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
itwanger/toBeBetterJavaer#202 · 2 comentários ·
Todas as issues de itwanger/toBeBetterJavaer
Issues semelhantes
-
Markdown and Astro language servers do not start when the project path contains a non-ASCII character or a spaceTalvez já em andamento @RoiSoleil assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
eclipse-wildwebdeveloper/wildwebdeveloper#2277 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
johanhaleby/occurrent#1462 ·
Mantenedores costumam responder em até 1 dia
-
Enhancing the Issue TemplateAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
SasanLabs/VulnerableApp#912 ·
Mantenedores costumam responder em até 1 dia
-
area/build area/events area/storage area/storage/kafkasql area/storage/sql
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Apicurio/apicurio-registry#11079 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
OpenAEV-Platform/openaev#9139 ·
Mantenedores costumam responder em até 1 dia