Junior — Middle
Explain the concept of Bucket within the HashMap data structure.
sobes.tech AI
Answer from AI
In Java's HashMap data structure, a "bucket" is an element of the internal array where all key-value pairs with the same hash index are stored.
When a collision occurs (different keys have the same hash or index), all such elements are placed in one bucket. Previously, a bucket was implemented as a linked list, but starting from Java 8, if many elements fall into a bucket, it is converted into a balanced tree (TreeNode) to speed up search.
Example:
- Compute the hash of the key and find the index in the buckets array.
- If the bucket is empty, place the key-value pair there.
- If not, add it to the linked list or tree within that bucket.
Thus, a bucket is a container for elements with the same index, ensuring storage and search during collisions.