I understand the basics of how a HashMap works - hm.put(obj) finds the correct bucket to place the object into, based on the obj.hashCode value. Then within that bucket if
Think of it this way: when you call get(key), the hashcode of the key is calculated and from this the one bucket among hundreds is pointed to in a single (set of) operation(s), i.e. you don't have to search through all 100 to arrive at the right bucket (in which case that would be a linear operation)