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