HashMap has a method
final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { ...} In which the key is checked for uniqueness. To determine the uniqueness, use the comparison of numbers by the operator & . Accordingly, the question:
What exactly does the & operator between two numbers do?
12 & 0 //0 12 & 5 //4 12 & 12 //12 12 & 150 //4 15 & 67888795; //11