HashMap com chave de matriz de bytes e valor de String - a função containsKey () não funciona
Estou usando uma chave HashMap: byte [] e um valor de String. Mas percebo que mesmo eu coloquei o mesmo objeto (mesma matriz de bytes e o mesmo valor de string) usando
myList.put(TheSameByteArray, TheSameStringValue)
no HashMap, a tabela ainda insere um novo objeto com diferentes HashMapEntry. Então a função containsKey () não pode funcionar.
Alguém pode explicar isso para mim? Como posso consertar isso? Obrigado. (Java Android)
@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;
}