HashMap con clave de matriz de bytes y valor de cadena: la función contiene clave () no funciona

Estoy usando una clave HashMap: byte [] y un valor de cadena. Pero me doy cuenta de que incluso pongo el mismo objeto (misma matriz de bytes y el mismo valor de cadena) usando

myList.put(TheSameByteArray, TheSameStringValue)

en HashMap, la tabla todavía inserta un nuevo objeto con diferente HashMapEntry. Entonces la función contiene clave () no puede funcionar.

¿Alguien puede explicar esto por mí? ¿Cómo puedo arreglar esto? Gracias. (Android Java)

@Override public boolean containsKey(Object key) {
    if (key == null) {
        return entryForNullKey != null;
    }

    int hash = Collections.secondaryHash(key);
    HashMapEntry<K, V>[] tab = table;
    for (HashMapEntry<K, V> e = tab[hash & (tab.length - 1)];
            e != null; e = e.next) {
        K eKey = e.key;
        if (eKey == key || (e.hash == hash && key.equals(eKey))) {
            return true;
        }
    }
    return false;
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta