public boolean equals(Object other) { if (!(other instanceof TCharShortMap)) { return false; } TCharShortMap that = (TCharShortMap) other; if (that.size() != size()) { return false; } short[] values = this._values; byte[] states = this._states; short this_no_entry_value = getNoEntryValue(); short that_no_entry_value = that.getNoEntryValue(); for (int i = values.length; i-- > 0; ) { if (states[i] == 1) { char key = this._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; }