if (key.equals(e.key))
if (e.key.equals(key))
  public synchronized V remove(Object key)  {    int idx = hash(key);    HashEntry<K, V> e = buckets[idx];    HashEntry<K, V> last = null;    while (e != null)      {        if (key.equals(e.key))          {            modCount++;            if (last == null)              buckets[idx] = e.next;            else              last.next = e.next;            size--;            return e.value;          }        last = e;        e = e.next;      }    return null;  }