@Override
public boolean equals( Object other ) {
if ( ! ( other instanceof TCharShortMap ) ) {
return false;
}
TCharShortMap that = ( TCharShortMap ) 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 ) {
char 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;