/** {@inheritDoc} */ @Override public boolean equals(Object other) { if (!(other instanceof TLongLongMap)) { return false; } TLongLongMap that = (TLongLongMap) other; if (that.size() != this.size()) { return false; } long[] values = _values; byte[] states = _states; long this_no_entry_value = getNoEntryValue(); long that_no_entry_value = that.getNoEntryValue(); for (int i = values.length; i-- > 0; ) { if (states[i] == FULL) { long key = _set[i]; long that_value = that.get(key); long 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; }