/** {@inheritDoc} */ @Override public boolean equals(Object other) { if (!(other instanceof TByteShortMap)) { return false; } TByteShortMap that = (TByteShortMap) other; if (that.size() != this.size()) { return false; } short[] values = _values; byte[] states = _states; short this_no_entry_value = getNoEntryValue(); short that_no_entry_value = that.getNoEntryValue(); for (int i = values.length; i-- > 0; ) { if (states[i] == FULL) { byte key = _set[i]; short that_value = that.get(key); short this_value = values[i]; if ((this_value != that_value) && (this_value != this_no_entry_value) && (that_value != that_no_entry_value)) { return false; } } } return true; }