| 1 | Initialize buckets array | - | [] [] [] [] | - | [] [] [] [] | [] -> null, [] -> null, [] -> null, [] -> null |
| 2 | Put("apple", 10) | hash("apple") % 4 = 1 | [] [] [] [] | Add node (apple,10) at bucket 1 | [] [apple:10] [] [] | [] -> null, [apple:10] -> null, [] -> null, [] -> null |
| 3 | Put("banana", 20) | hash("banana") % 4 = 3 | [] [apple:10] [] [] | Add node (banana,20) at bucket 3 | [] [apple:10] [] [banana:20] | [] -> null, [apple:10] -> null, [] -> null, [banana:20] -> null |
| 4 | Put("apple", 15) | hash("apple") % 4 = 1 | [] [apple:10] [] [banana:20] | Find node with key "apple", update value to 15 | [] [apple:15] [] [banana:20] | [] -> null, [apple:15] -> null, [] -> null, [banana:20] -> null |
| 5 | Put("grape", 30) | hash("grape") % 4 = 1 | [] [apple:15] [] [banana:20] | Add node (grape,30) at head of bucket 1 | [] [grape:30 -> apple:15] [] [banana:20] | [] -> null, [grape:30] -> [apple:15] -> null, [] -> null, [banana:20] -> null |
| 6 | Put("melon", 40) | hash("melon") % 4 = 0 | [] [grape:30 -> apple:15] [] [banana:20] | Add node (melon,40) at bucket 0 | [melon:40] [grape:30 -> apple:15] [] [banana:20] | [melon:40] -> null, [grape:30] -> [apple:15] -> null, [] -> null, [banana:20] -> null |
| 7 | Put("berry", 50) | hash("berry") % 4 = 3 | [melon:40] [grape:30 -> apple:15] [] [banana:20] | Add node (berry,50) at head of bucket 3 | [melon:40] [grape:30 -> apple:15] [] [berry:50 -> banana:20] | [melon:40] -> null, [grape:30] -> [apple:15] -> null, [] -> null, [berry:50] -> [banana:20] -> null |
| 8 | Put("apple", 25) | hash("apple") % 4 = 1 | [melon:40] [grape:30 -> apple:15] [] [berry:50 -> banana:20] | Find node with key "apple", update value to 25 | [melon:40] [grape:30 -> apple:25] [] [berry:50 -> banana:20] | [melon:40] -> null, [grape:30] -> [apple:25] -> null, [] -> null, [berry:50] -> [banana:20] -> null |
| 9 | End of operations | - | [melon:40] [grape:30 -> apple:25] [] [berry:50 -> banana:20] | - | [melon:40] [grape:30 -> apple:25] [] [berry:50 -> banana:20] | Final HashMap state as above |