Ich weiß nicht, ob der Titel sinnvoll ist, aber ich frage mich, wie sich eine Hashtabelle vergrößert, wenn Sie ihr Elemente hinzufügen?Hashtable verdoppelt?
Ist es wie die List<T>
, wo es verdoppelt, wenn das Limit erreicht ist? Wenn ja, dann erstellt diese Verdopplung die Sammlung von Grund auf neu (dies kann auch für List<T>
beantwortet werden, da ich nicht sicher bin, ob es das ist)?
Schließlich, wenn es tatsächlich von Grund auf neu erstellt, dann wäre diese besondere Add-Operation sehr teuer für den Benutzer, der nicht wissen würde, dass das Limit erreicht ist, richtig?
Interessant. Ich frage mich, ob es eine Liste von Primzahlen hat, oder ob sie sie im laufenden Betrieb berechnet. Wenn es berechnet wird, könnte diese Kalkulation teurer sein als die Kopie! –
Ich glaube, es berechnet sie im Handumdrehen ... aber wenn Sie von etwa 1 Million auf etwa 2 Millionen Einträge gehen (dh es ist eine * große * Karte), müssen Sie nur noch jede mögliche Primzahl gegen etwa 1000 mögliche Teiler prüfen . Sie müssen dann den richtigen Eimer für eine Million Einträge finden! –
Ich denke, das ist eine klassische Performance-vs-Space-Frage ... weil es 4 Bates Speicher pro gespeichertes Objekt hinzufügt. Vielleicht sollte ich die Quelle überprüfen ... – Lucero