Middle+
Tell us about the device of HashMap.
sobes.tech AI
Answer from AI
HashMap in Java is a data structure that implements an associative array (dictionary), where keys are mapped to values. The main components of HashMap:
- Bucket array: each element of the array contains a linked list or a tree (starting from Java 8) of key-value pairs.
- Hash function: computes the hash code of the key, which is then transformed into an array index to determine the bucket.
- Collision handling: if two keys fall into the same bucket, they are stored in a linked list or a balanced tree within that bucket.
When inserting a key, HashMap calculates the bucket index, then checks if an element with the same key exists. If it does, it updates the value; if not, it adds a new pair. The process is similar for key lookup.
Example usage:
Map<String, Integer> map = new HashMap<>();
map.put("apple", 3);
map.put("banana", 5);
int count = map.get("apple"); // 3
HashMap provides an average time complexity of O(1) for insertions and lookups, but in the worst case (with many collisions), it can degrade to O(n).