При использовании HashMap, hashmap сохранит весь объект A как ключ
Да, весь объект в качестве ключа
Он будет использовать внутренние ключи hashCode()
для хранения Value
Давайте посмотрим на код
@Override
461 public V get(Object key) {
462 Entry<K, V> m = getEntry(key);
463 if (m != null) {
464 return m.value;
465 }
466 return null;
467 }
468
469 final Entry<K, V> getEntry(Object key) {
470 Entry<K, V> m;
471 if (key == null) {
472 m = findNullKeyEntry();
473 } else {
474 int hash = computeHashCode(key);
475 int index = hash & (elementData.length - 1);
476 m = findNonNullKeyEntry(key, index, hash);
477 }
478 return m;
479 }
final Entry<K,V> findNonNullKeyEntry(Object key, int index, int keyHash) {
482 Entry<K,V> m = elementData[index];
483 while (m != null
484 && (m.origKeyHash != keyHash || !areEqualKeys(key, m.key))) {
485 m = m.next;
486 }
487 return m;
488 }