@Override public boolean equals(Object obj){
  if (obj == this) {
    return true;
  }
  if (!(obj instanceof KeyedObjects)) {
    return false;
  }
  KeyedObjects that=(KeyedObjects)obj;
  int count=getItemCount();
  if (count != that.getItemCount()) {
    return false;
  }
  for (int i=0; i < count; i++) {
    Comparable k1=getKey(i);
    Comparable k2=that.getKey(i);
    if (!k1.equals(k2)) {
      return false;
    }
    Object o1=getObject(i);
    Object o2=that.getObject(i);
    if (o1 == null) {
      if (o2 != null) {
        return false;
      }
    }
 else {
      if (!o1.equals(o2)) {
        return false;
      }
    }
  }
  return true;
}

@ Override public boolean equals ( Object obj ) { if ( obj == this ) { return true ; } if ( ! ( obj instanceof KeyedObjects ) ) { return false ; } KeyedObjects that = ( KeyedObjects ) obj ; int count = getItemCount ( ) ; if ( count != that . getItemCount ( ) ) { return false ; } for ( int i = 0 ; i < count ; i ++ ) { Comparable k1 = getKey ( i ) ; Comparable k2 = that . getKey ( i ) ; if ( ! k1 . equals ( k2 ) ) { return false ; } Object o1 = getObject ( i ) ; Object o2 = that . getObject ( i ) ; if ( o1 == null ) { if ( o2 != null ) { return false ; } } else { if ( ! o1 . equals ( o2 ) ) { return false ; } } } return true ; }
tests this object for equality with an arbitrary object .
