@Override public V remove(Object key){
  poll();
  int index=0;
  Entry<K,V> entry, last=null;
  if (key != null) {
    index=(Collections.secondaryHash(key) & 0x7FFFFFFF) % elementData.length;
    entry=elementData[index];
    while (entry != null && !key.equals(entry.get())) {
      last=entry;
      entry=entry.next;
    }
  }
 else {
    entry=elementData[0];
    while (entry != null && !entry.isNull) {
      last=entry;
      entry=entry.next;
    }
  }
  if (entry != null) {
    modCount++;
    if (last == null) {
      elementData[index]=entry.next;
    }
 else {
      last.next=entry.next;
    }
    elementCount--;
    return entry.value;
  }
  return null;
}

@ Override public V remove ( Object key ) { poll ( ) ; int index = 0 ; Entry < K , V > entry , last = null ; if ( key != null ) { index = ( Collections . secondaryHash ( key ) & 0x7FFFFFFF ) % elementData . length ; entry = elementData [ index ] ; while ( entry != null && ! key . equals ( entry . get ( ) ) ) { last = entry ; entry = entry . next ; } } else { entry = elementData [ 0 ] ; while ( entry != null && ! entry . isNull ) { last = entry ; entry = entry . next ; } } if ( entry != null ) { modCount ++ ; if ( last == null ) { elementData [ index ] = entry . next ; } else { last . next = entry . next ; } elementCount -- ; return entry . value ; } return null ; }
removes the mapping with the specified key from this map .
