public int remove(Object key){
  if (key == null)   key=NULL_KEY;
  int hash=key.hashCode() & _mask;
synchronized (this) {
    Item prev=null;
    for (Item item=_entries[hash]; item != null; item=item._next) {
      Object itemKey=item._key;
      if (itemKey == key || itemKey.equals(key)) {
        int oldValue=item._value;
        if (prev != null)         prev._next=item._next;
 else         _entries[hash]=item._next;
        _size--;
        return oldValue;
      }
      prev=item;
    }
  }
  return NULL;
}

public int remove ( Object key ) { if ( key == null ) key = NULL_KEY ; int hash = key . hashCode ( ) & _mask ; synchronized ( this ) { Item prev = null ; for ( Item item = _entries [ hash ] ; item != null ; item = item . _next ) { Object itemKey = item . _key ; if ( itemKey == key || itemKey . equals ( key ) ) { int oldValue = item . _value ; if ( prev != null ) prev . _next = item . _next ; else _entries [ hash ] = item . _next ; _size -- ; return oldValue ; } prev = item ; } } return NULL ; }
deletes the entry . returns true if successful .
