@Override public V put(K key,V value){
  if (key == null) {
    return putValueForNullKey(value);
  }
  int hash=secondaryHash(key);
  HashMapEntry<K,V>[] tab=table;
  int index=hash & (tab.length - 1);
  for (HashMapEntry<K,V> e=tab[index]; e != null; e=e.next) {
    if (e.hash == hash && key.equals(e.key)) {
      preModify(e);
      V oldValue=e.value;
      e.value=value;
      return oldValue;
    }
  }
  modCount++;
  if (size++ > threshold) {
    tab=doubleCapacity();
    index=hash & (tab.length - 1);
  }
  addNewEntry(key,value,hash,index);
  return null;
}

@ Override public V put ( K key , V value ) { if ( key == null ) { return putValueForNullKey ( value ) ; } int hash = secondaryHash ( key ) ; HashMapEntry < K , V > [ ] tab = table ; int index = hash & ( tab . length - 1 ) ; for ( HashMapEntry < K , V > e = tab [ index ] ; e != null ; e = e . next ) { if ( e . hash == hash && key . equals ( e . key ) ) { preModify ( e ) ; V oldValue = e . value ; e . value = value ; return oldValue ; } } modCount ++ ; if ( size ++ > threshold ) { tab = doubleCapacity ( ) ; index = hash & ( tab . length - 1 ) ; } addNewEntry ( key , value , hash , index ) ; return null ; }
maps the specified key to the specified value .
