HashMap с ключом массива байтов и значением String - функция containsKey () не работает
Я использую ключ HashMap: byte [] и значение String. Но я понимаю, что даже я помещаю один и тот же объект (тот же байтовый массив и то же строковое значение), используя
myList.put(TheSameByteArray, TheSameStringValue)
в HashMap таблица все еще вставляет новый объект с другим HashMapEntry. Тогда функция содержит ключ () не может работать.
Может кто-нибудь объяснить это для меня? Как я могу это исправить? Благодарю. (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;
}