fix: fix resize bug in HashMap

This commit is contained in:
dudaodong committed 2022-08-25 14:04:26 +08:00
1 parent 1acf977b24
commit 9107eb4b32
2 files changed
+14

No files matched your search

+2
View File
@@ -98,6 +98,8 @@ func (hm *HashMap) resize() {
tempTable := hm.table tempTable := hm.table
hm.table = make([]*mapNode, hm.capacity)
for i := 0; i < len(tempTable); i++ { for i := 0; i < len(tempTable); i++ {
node := tempTable[i] node := tempTable[i]
if node == nil { if node == nil {
+12
View File
@@ -19,6 +19,18 @@ func TestHashMap_PutAndGet(t *testing.T) {
assert.Equal(4, hm.Get("abc")) assert.Equal(4, hm.Get("abc"))
} }
func TestHashMap_Resize(t *testing.T) {
assert := internal.NewAssert(t, "TestHashMap_Resize")
hm := NewHashMapWithCapacity(3, 3)
for i := 0; i < 20; i++ {
hm.Put(i, 10)
}
assert.Equal(10, hm.Get(5))
}
func TestHashMap_Delete(t *testing.T) { func TestHashMap_Delete(t *testing.T) {
assert := internal.NewAssert(t, "TestHashMap_Delete") assert := internal.NewAssert(t, "TestHashMap_Delete")