如果键的哈希值已经在数组中存在,调用equals判断是否相同,相同则覆盖。
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Dokumentation
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- java
- Bereich
- documentation
Rechercherichtung
Finde die Erklärung zu HashMap, die die Methode hash() und die Aussage zum Ersetzen von Werten enthält. Kläre das dokumentierte Verhalten bei Hash-Kollisionen und Gleichheit und überprüfe anschließend, ob die umgebende Erklärung weiterhin korrekt und verständlich ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
[能说一下 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);
}
如果键的哈希值已经在数组中存在,其对应的值将被新值覆盖。
- Vorherrschende Sprache
- Java
- Sterne
- 17.8k
- Forks
- 2.4k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus itwanger/toBeBetterJavaer
-
面渣逆袭Spring事务传播机制勘误Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 80/100
itwanger/toBeBetterJavaer#218 ·
-
一个笔误Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
itwanger/toBeBetterJavaer#214 ·
-
MySQL面渣内嵌链接失效Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
itwanger/toBeBetterJavaer#212 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
itwanger/toBeBetterJavaer#210 ·
-
小瑕疵~Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
itwanger/toBeBetterJavaer#202 · 2 Kommentare ·
Alle Issues in itwanger/toBeBetterJavaer
Ähnliche Issues
-
Markdown and Astro language servers do not start when the project path contains a non-ASCII character or a spaceEvtl. vergeben @RoiSoleil hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
eclipse-wildwebdeveloper/wildwebdeveloper#2277 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
johanhaleby/occurrent#1462 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
SasanLabs/VulnerableApp#912 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area/build area/events area/storage area/storage/kafkasql area/storage/sql
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Apicurio/apicurio-registry#11079 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
OpenAEV-Platform/openaev#9139 ·
Maintainer antworten meist innerhalb von 1 Tag